假设有表A和B,字段都是passenger_id,那么取在A表中包含,但是在B表中不包含的id的方法如下
SELECT A.ID
FROM A
LEFT JOIN B
ON A.id = B.id
WHERE B.id is NULL
原因:left join取左表所有记录,以及右表B中和左表重复的记录,因此,A表有而B表无的记录,会记录B.id 为NULL。因此,针对需求,限制条件WHERE B.id is NULL,将得到A表有,B表无的记录。
假设有表A和B,字段都是passenger_id,那么取在A表中包含,但是在B表中不包含的id的方法如下
SELECT A.ID
FROM A
LEFT JOIN B
ON A.id = B.id
WHERE B.id is NULL
原因:left join取左表所有记录,以及右表B中和左表重复的记录,因此,A表有而B表无的记录,会记录B.id 为NULL。因此,针对需求,限制条件WHERE B.id is NULL,将得到A表有,B表无的记录。