1

selectクエリで派生列を作成/宣言/定義してからwhere句で使用するにはどうすればよいですか?

4

1 に答える 1

1

SQL クエリで列を定義するには、単一の値を返すほとんどすべての SQL 操作 (select ステートメントを含む) を使用できます。ここではいくつかの例を示します。

select 'Y' from dual;
select (5 * 3) cal_col from dual;
select (select min(col1) from table 2) calc_col from dual;
select nvl(col1, 'N') has_value from mytable;

私の経験から、選択クエリで派生列を使用する場合は、その列を内部選択の一部として定義する必要があります。次に例を示します。

select *
from (
 select (col1 * col2) calc_col
   from mytable
) data
where data.calc_col > 30

もう 1 つの方法は、where 句自体の中で計算を使用することです。

select (col1 * col2) calc_col
  from mytable t
 where (col1 * col2) > 30

count(*) 操作を実行している場合は、HAVING 句を利用することもできます。

select field1, count(*)
  from mytable
having count(*) > 3
于 2011-02-28T22:39:11.127 に答える