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

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,'Bob'),(2,'John'),(3,'Carol');
Query OK, 3 rows affected (0.13 sec)
Records: 3  Duplicates: 0  Warnings: 0

すべてのレコードを表示します。

mysql> select *from FirstTableDemo;

以下は出力です。

+------+-------+
| id   | name  |
+------+-------+
|    1 | Bob   |
|    2 | John  |
|    3 | Carol |
+------+-------+
3 rows in set (0.00 sec)

2番目のテーブルを作成しています。

mysql> create table SecondTableDemo
   -> (
   -> id int,
   -> name varchar(100)
   -> );
Query OK, 0 rows affected (0.62 sec)

2番目のテーブルにレコードを挿入します。

mysql> insert into SecondTableDemo values(1,'Bob'),(2,'John');
Query OK, 2 rows affected (0.12 sec)
Records: 2  Duplicates: 0  Warnings: 0

すべてのレコードを表示します。

mysql> select *from SecondTableDemo;

以下は出力です。

+------+------+
| id   | name |
+------+------+
|    1 | Bob  |
|    2 | John |
+------+------+

以下は、2番目のテーブルにない行を選択するための構文です。

mysql> SELECT tbl1.*
    -> FROM FirstTableDemo tbl1
    -> NATURAL LEFT JOIN  SecondTableDemo tbl2
    -> where tbl2.name IS NULL;

以下は、最初のテーブルにはあるが、2番目のテーブルにはない行(「Carol」)を表示する出力です。

+------+-------+
| id   | name  |
+------+-------+
|    3 | Carol |
+------+-------+
1 row in set (0.03 sec)

  1. 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),(

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

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