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