SQL-ANDおよびOR接続演算子

SQL ANDOR演算子は、複数の条件を組み合わせてSQLステートメントのデータを絞り込むために使用されます。これらの2つの演算子は、接続演算子と呼ばれます。

これらの演算子は、同じSQLステートメント内の異なる演算子と多重比較を行う手段を提供します。

AND演算子

ザ・ AND 演算子を使用すると、SQLステートメントのWHERE句に複数の条件を含めることができます。

構文

WHERE句を使用したAND演算子の基本的な構文は次のとおりです。

SELECT column1, column2, columnN 
FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];

AND演算子を使用して、N個の条件を組み合わせることができます。SQLステートメントによって実行されるアクションは、トランザクションであろうとクエリであろうと、ANDで区切られたすべての条件がTRUEである必要があります。

次のレコードを持つCUSTOMERSテーブルについて考えてみます-

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

以下は、CUSTOMERSテーブルからID、Name、およびSalaryフィールドをフェッチする例です。ここで、給与は2000を超え、年齢は25歳未満です。

SQL> SELECT ID, NAME, SALARY 
FROM CUSTOMERS
WHERE SALARY > 2000 AND age < 25;

これにより、次の結果が生成されます-

+----+-------+----------+
| ID | NAME  | SALARY   |
+----+-------+----------+
|  6 | Komal |  4500.00 |
|  7 | Muffy | 10000.00 |
+----+-------+----------+

OR演算子

OR演算子は、SQLステートメントのWHERE句で複数の条件を組み合わせるために使用されます。

構文

WHERE句を使用したOR演算子の基本的な構文は次のとおりです。

SELECT column1, column2, columnN 
FROM table_name
WHERE [condition1] OR [condition2]...OR [conditionN]

OR演算子を使用して、N個の条件を組み合わせることができます。SQLステートメントによって実行されるアクションは、トランザクションであろうとクエリであろうと、ORで区切られた条件のいずれか1つだけがTRUEである必要があります。

次のレコードを持つCUSTOMERSテーブルについて考えてみます-

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

次のコードブロックにはクエリがあり、CUSTOMERSテーブルからID、Name、およびSalaryフィールドをフェッチします。ここで、給与は2000を超えるか、年齢は25歳未満です。

SQL> SELECT ID, NAME, SALARY 
FROM CUSTOMERS
WHERE SALARY > 2000 OR age < 25;

これにより、次の結果が生成されます-

+----+----------+----------+
| ID | NAME     | SALARY   |
+----+----------+----------+
|  3 | kaushik  |  2000.00 |
|  4 | Chaitali |  6500.00 |
|  5 | Hardik   |  8500.00 |
|  6 | Komal    |  4500.00 |
|  7 | Muffy    | 10000.00 |
+----+----------+----------+