SQL IN – SQL NOT IN を日本語で自然に表現しなさい。ただし、1つのオプションのみを用意します: SQLの中で – SQLの中でない
SQLのIN演算子は、WHERE句と共に使用され、WHERE句の一部として複数の値を提供するために使用されます。
1. SQLのIN文
SQLのIN演算子は、同じ列に複数のOR演算子を持つようなものです。IN演算子について詳しく話し合いましょう。IN演算子の定義には2つの方法があります。以下では、両方の方法について詳しく説明します。
1.1) INの一部として複数の値
文法:
SELECT Column(s) FROM table_name WHERE column IN (value1, value2, ... valueN);
上記の構文を使用することで、IN演算子の一部として複数の値を定義することができます。私たちは、いくつかの例を通じて上記の構文をより詳しく理解するでしょう。例として、以下のような学生テーブルを考えてみましょう。
RollNo | StudentName | StudentGender | StudentAge | StudentPercent |
---|---|---|---|---|
1 | George | M | 14 | 85 |
2 | Monica | F | 12 | 88 |
3 | Jessica | F | 13 | 84 |
4 | Tom | M | 11 | 78 |
シナリオ:12歳または13歳の生徒の割合を取得する。クエリ:
SELECT StudentPercent FROM Student WHERE StudentAge IN ('12', '13');
出力:
StudentPercent |
---|
88 |
84 |
1.2) INの一部として、選択クエリを選んでください。
Syntax: 構文
SELECT Column(s) FROM table_name WHERE column IN (SELECT Statement);
上記の構文を使用することで、IN演算子の一部として値を提供するためにSQL SELECTステートメントを使用することができます。私たちは、いくつかの例を通して上記の構文を詳しく理解することになります。例を目的として、以下の商品テーブルとサプライヤーテーブルを考えましょう。PRODUCTテーブル
ProductId | ProductName | ProductPrice |
---|---|---|
1 | Cookie | 10 |
2 | Cheese | 11 |
3 | Chocolate | 15 |
4 | Jam | 20 |
サプライヤーテーブル
ProductId | ProductName | SupplierName |
---|---|---|
1 | Cookie | ABC |
2 | Cheese | XYZ |
3 | Chocolate | ABC |
4 | Jam | XDE |
シナリオ:サプライヤーがABCの商品の価格を取得する。クエリ:
SELECT ProductPrice FROM Product WHERE ProductName IN
(SELECT ProductName FROM Supplier WHERE SupplierName = "ABC");
出力:
ProductPrice |
---|
10 |
15 |
1.3) SQLネストされたIN
他のIN演算子の中にもINを使用することができます。より良く理解するために、以下のシナリオを考えてみましょう。 シナリオ:サプライヤーがABCおよびXDEである製品の価格を取得する。 クエリ:
SELECT ProductPrice FROM Product WHERE ProductName IN
(SELECT ProductName FROM Supplier WHERE SupplierName IN ( "ABC", "XDE" ));
出力結果
ProductPrice |
---|
10 |
15 |
20 |
2. SQLの NOT IN
SQLのNOT IN演算子は、IN演算子の一部として指定された値が満たされていない場合に、結果をフィルタリングするために使用されます。SQLのNOT IN演算子について詳しく話しましょう。構文:
SELECT Column(s) FROM table_name WHERE Column NOT IN (value1, value2... valueN);
上記の構文では、IN句の一部として満たされない値は結果に考慮されます。例として、以前に定義されたStudentテーブルを考えましょう。シナリオ:年齢が12歳または13歳でない学生の割合を取得します。クエリ
SELECT StudentPercent FROM Student WHERE StudentAge NOT IN ('12', '13');
出力する:
StudentPercent |
---|
85 |
78 |
2.1) SQLの一部である「NOT IN」を選択クエリとして選びます。
文法(ぶんぽう):
SELECT Column(s) FROM table_name WHERE column NOT IN (SELECT Statement);
上記の構文を使用することで、IN演算子の一部として値を提供するためにSELECT文を使用することができます。上記の構文をより詳細に理解するために、いくつかの例を通じて説明します。たとえば、以前に定義された商品とサプライヤーのテーブルを考えてみましょう。シナリオ:サプライヤーがABCではない商品の価格を取得します。クエリ:
SELECT ProductPrice FROM Product WHERE ProductName NOT IN
(SELECT ProductName FROM Supplier WHERE SupplierName = "ABC");
SQLのIN演算子とNOT IN演算子の例は以上です。