テーブルBに存在しないMySQLテーブルAから選択するにはどうすればよいですか?
IN演算子を使用して、別のテーブルに存在しないテーブルから選択できます。上記の構文を理解するために、テーブルを作成しましょう。
最初のテーブル名はA、2番目のテーブル名はBです。テーブルを作成するためのクエリは次のとおりです
mysql> create table A -> ( -> Value int -> ); Query OK, 0 rows affected (0.56 sec)
これで、挿入コマンドを使用してテーブルにいくつかのレコードを挿入できます。
クエリは次のとおりです
mysql> insert into A values(10); Query OK, 1 row affected (0.23 sec) mysql> insert into A values(20); Query OK, 1 row affected (0.11 sec) mysql> insert into A values(30); Query OK, 1 row affected (0.11 sec) mysql> insert into A values(50); Query OK, 1 row affected (0.10 sec) mysql> insert into A values(80); Query OK, 1 row affected (0.12 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示します。
クエリは次のとおりです
mysql> select *from A;
以下は出力です
+-------+ | Value | +-------+ | 10 | | 20 | | 30 | | 50 | | 80 | +-------+ 5 rows in set (0.00 sec)
これは、B
という名前の2番目のテーブルを作成するためのクエリです。mysql> create table B -> ( -> Value2 int -> ); Query OK, 0 rows affected (0.65 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。
クエリは次のとおりです
mysql> insert into B values(20); Query OK, 1 row affected (0.11 sec) mysql> insert into B values(50); Query OK, 1 row affected (0.15 sec)
これで、selectステートメントを使用してテーブルのすべてのレコードを表示できます。
クエリは次のとおりです
mysql> select *from B;
以下は出力です
+--------+ | Value2 | +--------+ | 20 | | 50 | +--------+ 2 rows in set (0.00 sec)
これは、テーブルBに存在しないテーブルAから選択するクエリです
mysql> SELECT * FROM A WHERE Value NOT IN (SELECT Value2 FROM B);
以下は出力です
+-------+ | Value | +-------+ | 10 | | 30 | | 80 | +-------+ 3 rows in set (0.00 sec)
-
MySQLのselectクエリを使用して、別のテーブルにないテーブルから行を選択しますか?
この例では、2つのテーブルを作成し、Natural Left Joinを適用して、2番目のテーブルに存在しないテーブルから行を取得します。 最初のテーブルを作成します。 mysql> create table FirstTableDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.48 sec) 最初のテーブルにレコードを挿入します。 mysql> insert into FirstTableDemo values(1,Bo
-
MySQLから最後の10行を選択するにはどうすればよいですか?
MySQLから最後の10行を選択するには、SELECTステートメントとLimitの概念でサブクエリを使用できます。以下は例です。 テーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) テーブルにレコードを挿入します。 mysql> insert into Last10RecordsDemo values(1,John),(