我需要编写一个查询,该查询返回一个MySql表中存在的记录,而另一个表中则不存在。在这个例子中,我想要在wafer_log表中存在的所有晶圆都不存在于bt_log表中。
以下是我正在使用的当前查询:
SELECT wafer_log.wafer, bt_log.id AS blid, wafer_log.id AS wlid
FROM bt_log RIGHT OUTER JOIN wafer_log
ON bt_log.waferid = wafer_log.wafer
WHERE wafer_log.wafer IS NOT NULL AND bt_log.id IS NULL;
我的想法是从我关心的表格中获取晶圆名称以及两个表格的ID,并在晶圆名称上进行外部连接。从那里,我想看到wafer_log表中晶圆名称不为空的所有结果,并且bt_log中的id为null。
我觉得结果看起来并不合适。
任何帮助都将不胜感激。
答案 0 :(得分:2)
您不需要联接来执行此操作,假设'id'是您可以使用子查询的主键:
SELECT wafer_log.wafer, wafer_log.id AS wlid
FROM wafer_log
WHERE wafer_log.id NOT IN (SELECT id FROM bt_log);