开发者社区> 问答> 正文

Mysql:从表中选择不在另一个表中的行?mysql

如何选择一个表中所有未出现在另一表中的行?

表格1:

+-----------+----------+------------+ | FirstName | LastName | BirthDate | +-----------+----------+------------+ | Tia | Carrera | 1975-09-18 | | Nikki | Taylor | 1972-03-04 | | Yamila | Diaz | 1972-03-04 | +-----------+----------+------------+ 表2:

+-----------+----------+------------+ | FirstName | LastName | BirthDate | +-----------+----------+------------+ | Tia | Carrera | 1975-09-18 | | Nikki | Taylor | 1972-03-04 | +-----------+----------+------------+ 表1中不在表2中的行的示例输出:

+-----------+----------+------------+ | FirstName | LastName | BirthDate | +-----------+----------+------------+ | Yamila | Diaz | 1972-03-04 | +-----------+----------+------------+ 也许这样的事情应该工作:

SELECT * FROM Table1 WHERE * NOT IN (SELECT * FROM Table2)

展开
收起
保持可爱mmm 2020-05-17 09:53:04 350 0
1 条回答
写回答
取消 提交回答
  • 如果您在另一条注释中提到有300列,并且想要对所有列进行比较(假设这些列的名称相同),则可以使用a NATURAL LEFT JOIN隐式联接两个表之间所有匹配的列名称,以便不必繁琐地手动输入所有加入条件:

    SELECT a.* FROM tbl_1 a NATURAL LEFT JOIN tbl_2 b WHERE b.FirstName IS NULL来源:stack overflow

    2020-05-17 10:11:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像