MySQL选择查询从表中选择不在另一个表中的行?
对于我们的示例,我们将创建两个表并应用“自然左联接”以从第二个表中不存在的表中获取行。
创建第一个表。
mysql> create table FirstTableDemo-> (
-> id int,
-> name varchar(100)
-> );
将记录插入第一个表。
mysql> insert into FirstTableDemo values(1,'Bob'),(2,'John'),(3,'Carol');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)
创建第二个表。
mysql> create table SecondTableDemo-> (
-> id int,
-> name varchar(100)
-> );
将记录插入第二个表。
mysql> insert into SecondTableDemo values(1,'Bob'),(2,'John');Records: 2 Duplicates: 0 Warnings: 0
显示所有记录。
mysql> select *from SecondTableDemo;
以下是输出。
+------+------+| id | name |
+------+------+
| 1 | Bob |
| 2 | John |
+------+------+
以下是选择不在第二个表中的行的语法。
mysql> SELECT tbl1.*-> FROM FirstTableDemo tbl1
-> NATURAL LEFT JOIN SecondTableDemo tbl2
-> where tbl2.name IS NULL;
以下是显示第一个表中而不是第二个表(即“ Carol”)中的行的输出。
+------+-------+| id | name |
+------+-------+
| 3 | Carol |
+------+-------+
1 row in set (0.03 sec)
以上是 MySQL选择查询从表中选择不在另一个表中的行? 的全部内容, 来源链接: utcz.com/z/340928.html