MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

JOINSを使用してテーブルBに存在しないテーブルAからのMySQLSELECT?


テーブルBに存在しないテーブルAからSELECTするには、左結合を使用できます。以下は構文です-

select yourTableNameA.*
from yourTableNameA left join yourTableNameB on yourTableNameA.yourColumnName =
yourTableNameB.yourColumnName
where yourTableNameB.yourColumnName
IS NULL;

まず、テーブルを作成しましょう。以下はクエリです-

mysql> create table table_A
   -> (
   -> Value int
   -> );
Query OK, 0 rows affected (1.10 sec)

以下は、挿入コマンド-

を使用してテーブルにレコードを挿入するためのクエリです。
mysql> insert into table_A values(10);
Query OK, 1 row affected (0.32 sec)

mysql> insert into table_A values(15);
Query OK, 1 row affected (0.10 sec)

mysql> insert into table_A values(35);
Query OK, 1 row affected (0.21 sec)

mysql> insert into table_A values(45);
Query OK, 1 row affected (0.13 sec)

以下は、selectステートメント-

を使用してテーブルのすべてのレコードを表示するためのクエリです。
mysql> select *from table_A;

これにより、次の出力が生成されます-

+-------+
| Value |
+-------+
| 10    |
| 15    |
| 35    |
| 45    |
+-------+
4 rows in set (0.00 sec)

別のテーブルを作成しましょう。以下はクエリです-

mysql> create table table_B
   -> (
   -> Value int
   -> );
Query OK, 0 rows affected (0.51 sec)

以下は、挿入コマンド-

を使用してテーブルにいくつかのレコードを挿入するためのクエリです。
mysql> insert into table_B values(10);
Query OK, 1 row affected (0.18 sec)

mysql> insert into table_B values(20);
Query OK, 1 row affected (0.12 sec)

mysql> insert into table_B values(35);
Query OK, 1 row affected (0.23 sec)

mysql> insert into table_B values(60);
Query OK, 1 row affected (0.12 sec)

以下は、selectステートメントを使用してテーブルのすべてのレコードを表示するためのクエリです-

mysql> select *from table_B;

これにより、次の出力が生成されます-

+-------+
| Value |
+-------+
| 10    |
| 20    |
| 35    |
| 60    |
+-------+
4 rows in set (0.00 sec)

以下は、LEFTJOIN-

を使用してテーブルBに存在しないテーブルAから選択するクエリです。
mysql> select table_A.*
   -> from table_A left join table_B on table_A.Value = table_B.Value
   -> where table_B.Value IS NULL;

これにより、次の出力が生成されます-

+-------+
| Value |
+-------+
| 15    |
| 45    |
+-------+
2 rows in set (0.04 sec)

  1. テーブルの個別の列から平均を選択するMySQLクエリ?

    平均を取得するには、AVG()を使用し、それをDISTINCTとともに使用して、個別のレコードから計算します。まずテーブルを作成しましょう- mysql> create table DemoTable1934    (    StudentName varchar(20),    StudentMarks int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into

  2. MySQLで値が存在しないテーブルから選択しますか?

    このために、NOT IN()-を使用できます mysql> create table DemoTable1991 (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentName varchar(20) ); Query OK, 0 rows affected (0.61 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1991(StudentName) values('C