> ⑰ANDおよびOR演算子 – ネットワークエンジニアチュートリアル

⑰ANDおよびOR演算子

スポンサーリンク

無料でプログラマへ!30歳までなら無料でプログラミング学校に通うことが出来ます。下の画像をクリックして無料相談会でGO!

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 | takeshita|  32 | Ahmedabad |  2000.00 |
|  2 | nakata   |  25 | Delhi     |  1500.00 |
|  3 | takatoku |  23 | Kota      |  2000.00 |
|  4 | Murakami |  25 | Mumbai    |  6500.00 |
|  5 | Fujita   |  27 | Bhopal    |  8500.00 |
|  6 | tsuruta  |  22 | MP        |  4500.00 |
|  7 | hirose   |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

以下は、給与が2000より大きく、年齢が25歳未満のCUSTOMERS表からID、NameおよびSalaryフィールドを抽出する例です。

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

これは、次の結果になります

+----+-------+----------+
| ID | NAME  | SALARY   |
+----+-------+----------+
|  6 | tsuruta|  4500.00 |
|  7 | hirose | 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 | takeshita| 32 | Ahmedabad | 2000.00 |
| 2 | nakata | 25 | Delhi | 1500.00 |
| 3 | takatoku | 23 | Kota | 2000.00 |
| 4 | Murakami | 25 | Mumbai | 6500.00 |
| 5 | Fujita | 27 | Bhopal | 8500.00 |
| 6 | tsuruta | 22 | MP | 4500.00 |
| 7 | hirose | 24 | Indore | 10000.00 |
+—-+———-+—–+———–+———-+

以下は、

次のコードブロックは、給与が2000より大きく、年齢が25歳未満のCUSTOMERSテーブルからIDフィールド、名前フィールド、および給与フィールドを取得するクエリを持っています。

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

これは、次の結果になります-

+----+----------+----------+
| ID | NAME     | SALARY   |
+----+----------+----------+
|  3 | takatoku |  2000.00 |
|  4 | Murakami |  6500.00 |
|  5 | Fujita   |  8500.00 |
|  6 | tsuruta  |  4500.00 |
|  7 | hirose   | 10000.00 |
+----+----------+----------+




前のページ⑯サブクエリ

次のページ⑱重複の処理



スポンサーリンク

ネットワークエンジニアになりたければ下記から無料相談会に参加!
なんと無料で授業を受けれてエンジニアになれます

投稿日:2017-09-18 更新日:

執筆者: