いくつかの述部を含む検索条件をコーディングすると、要求をさらに限定することができます。
指定する検索条件には、任意の比較演算子、または BETWEEN、DISTINCT、IN、LIKE、EXISTS、IS NULL、および IS NOT NULL のどのキーワードでも含めることができます。
2 つの述部を AND と OR を使って結合することができます。 さらに、NOT キーワードを使用すると、望む検索条件を指定した検索条件の否定値にすることを指定できます。 WHERE 文節には、必要なだけの述部が指定できます。
...
WHERE WORKDEPT = 'D21' AND HIREDATE > '1987-12-31'
...
WHERE WORKDEPT = 'C01' OR WORKDEPT = 'D11'
...
WHERE WORKDEPT = 'E11' AND NOT JOB = 'ANALYST'
これらの結合子を含む検索条件を評価するとき、SQL は特定の順序でその評価を行います。SQL は最初に NOT 文節を評価し、次に AND 文節を評価し、次に OR 文節を評価します。
評価の順序は括弧を使用することで変更できます。括弧で囲んだ検索条件が最初に評価されます。 例えば、部門 E11 と E21 の社員のうちで、学歴が 12 より上のすべての社員を選択するには、 次のように指定できます。
...
WHERE EDLEVEL > 12 AND
(WORKDEPT = 'E11' OR WORKDEPT = 'E21')
括弧は、検索条件の意味を決定します。この例では、次の条件に一致するすべての行を必要としています。
括弧を使用しないで、次のように指定すると、
...
WHERE EDLEVEL > 12 AND WORKDEPT = 'E11'
OR WORKDEPT = 'E21'
異なった結果が得られます。選択される行は、次の条件を満たす行です。
複数の等価比較を組み合わせる場合、以下に示す例のとおり、AND を用いて述部を記述できます。
...
WHERE WORKDEPT = 'E11' AND EDLEVEL = 12 AND JOB = 'CLERK'
また、次の例のように、2 つのリストを比較することもできます。
...
WHERE (WORKDEPT, EDLEVEL, JOB) = ('E11', 12, 'CLERK')
2 つのリストが使用される場合、1 つ目のリストの 1 つ目の項目が、2 つ目のリストの 1 つ目の項目と比較されます。比較は双方のリストでこのような方法で行われます。 そのため、各リストのエントリー数が同じでなければなりません。 リストを使用することは、AND で照会を記述するのと同じです。これらのリストは、等号および不等号比較演算子と共にのみ、使用可能です。