mysql - 显示表中不匹配的记录?

标签 mysql select

我正在尝试编写一个查询来查找在另一个表中没有匹配记录的记录。

这是我的设计表

table 1 
    id | fid | phone | name
    1a | 1b  | 201   | dave
    1a | 2c  | 012   | albert
    1a | 2z  | 909   | huerem
    3a | 2f  | 919   | merria
    2a | 9z  | 209   | gonma

table 2 
    id | phone 
    4x | 121
    2c | 121
    1d | 009
    3b | 889
    5a | 121

我想显示table2中phone=121的记录,table2.id 不存在table1.fid中,所以结果将为 4x,5a

有任何查询要执行此操作吗?

最佳答案

所以左连接表并指定 null

select t.*
from table2 t
left join table1 tt on t.id = tt.fid
where tt.fid is null and t.phone = 121

FIDDLE

关于mysql - 显示表中不匹配的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33338083/

相关文章:

java - 在 MYSQL 数据库中检索存储为 BLOB 的图像

如果两个不同行中的值匹配某个条件,MySQL 查询将返回一个值

mysql - SQL - 查找具有相似兴趣的用户

html - 如何设置 SELECT 下拉列表中可见的最大项目数?

c# - 从列表中 ID 所在的集合中选择全部

linux - Linux下增量备份MySQL Workbench的脚本

php - 将mysql数据导出到csv文件

mysql - 在MYSQL中获取一个月中的星期几

jQuery 根据下拉菜单中选择的数字动态创建输入字段?

tsql - t-sql 与 与 与