WHERE 節

WHERE節は必要に応じて、選択式DELETE 文UPDATE 文に置くことができます。 WHERE節の真偽式に基づいて行を選択することができます。 式が真と評価された行だけが、結果にて返されます。 もし、DELETE文であれば削除され、UPDATE文であれば更新されます。

構文

WHERE 真偽式

WHERE節には真偽式を置くことができます。一般的な式の表に一覧された一般式のほとんどは、真偽値になることができます。

さらに、より一般的な真偽式もあります。表10に一覧された真偽演算子は、一つあるいはそれ以上のオペランドをとり、その式は真偽値を返します。


-- ビジネスクラスの席が予約されていない
-- 便を見つける。
SELECT *
FROM FlightAvailability
WHERE business_seats_taken IS NULL
OR business_seats_taken = 0
-- EMP_ACTとEMPLOYEEという表を結合して、
-- EMP_ACTの全列に、EMPLOYEEより従業員の苗字(LASTNAME)を加えて
-- 結果行として返す。
SELECT SAMP.EMP_ACT.*, LASTNAME
  FROM SAMP.EMP_ACT, SAMP.EMPLOYEE
  WHERE EMP_ACT.EMPNO = EMPLOYEE.EMPNO
-- 販売代理人の社員番号と給料を、彼らの部署の平均賃金と員数と共に、
--返す。
-- この問合せでは、まず問合せの一部(DINFO)にて、AS節で新しい列名を与えて、
-- AVGSALARYとEMPCOUNT列およびWHERE節で使われているDEPTNOを
-- 取得できるようにする必要がある。
SELECT THIS_EMP.EMPNO, THIS_EMP.SALARY, DINFO.AVGSALARY, DINFO.EMPCOUNT
 FROM EMPLOYEE THIS_EMP,
   (SELECT OTHERS.WORKDEPT AS DEPTNO,
           AVG(OTHERS.SALARY) AS AVGSALARY,
           COUNT(*) AS EMPCOUNT
    FROM EMPLOYEE OTHERS
    GROUP BY OTHERS.WORKDEPT
   )AS DINFO
 WHERE THIS_EMP.JOB = 'SALESREP'
	   AND THIS_EMP.WORKDEPT = DINFO.DEPTNO