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)
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西