Sql-and-or-clauses
提供:Dev Guides
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、名前、および給与フィールドを取得する例です。給与は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、名前、および給与フィールドを取得します。給与は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 |
+----+----------+----------+