SQL-ANDおよびOR接続演算子
SQL AND & OR演算子は、複数の条件を組み合わせて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 |
+----+----------+----------+