[英]Mysql Query - Select differences between two columns of two tables
我有兩個表:
TABLEA:ID:(自動遞增)NAME:VARCHAR LAST_NAME:VARCHAR國籍:VARCHAR
TABLEB:ID :(自動遞增)NAME:VARCHAR LAST_NAME:VARCHAR FOOTBALL:TEAM:VARCHAR
我想獲取TableB中不存在的TableA.name和TableA.last_name的組合。...我不知道如何...我很累:(
嘗試這個:
select
concat(first_name, ' ', last_name) as full_name
from TableA
having full_name not in (
select
concat(first_name, ' ', last_name) as full_name
from TableB
);
一個簡單的左聯接就足夠了。 當您對姓名和姓氏進行左聯接並且B.name為空時,這意味着該記錄在表A中找到,但不在表B中找到。
SELECT A.NAME, A.LAST_NAME
FROM TABLEA A
LEFT JOIN TABLEB B
ON A.NAME = B.NAME AND A.LAST_NAME=B.LAST_NAME
WHERE B.NAME is null and B.LAST_NAME is null;
這也將起作用:
SELECT a.name, a.last_name
FROM TableA a
WHERE NOT EXISTS (SELECT * FROM TableB b WHERE b.name=a.name AND b.last_name = a.last_name)
使用下面給定的查詢來獲得所需的結果:
Select TABLEA.NAME, TABLEA.LAST_NAME
from TABLEA
INNER JOIN TABLEB
ON TABLEA.NAME!=TABLEB.NAME AND TABLEA.LAST_NAME!=TABLEB.LAST_NAME;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.