# 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

親トピック: SQL 節