我有两张桌子:
TABLEA: ID :(自动增量) 名称:VARCHAR LAST_NAME:VARCHAR 国籍:VARCHAR
TABLEB: ID :(自动增量) 名称:VARCHAR LAST_NAME:VARCHAR 足球:队伍:VARCHAR
我想获得TableB中不存在的TableA.name和TableA.last_name的组合.... 我不知道怎么......我累了:(
答案 0 :(得分:0)
试试这个:
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
);
答案 1 :(得分:0)
简单的左连接就足够了。当您对名称和姓氏进行左连接并且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;
答案 2 :(得分:0)
这也有效:
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)
答案 3 :(得分:0)
使用以下给定的查询来获得所需的结果:
Select TABLEA.NAME, TABLEA.LAST_NAME
from TABLEA
INNER JOIN TABLEB
ON TABLEA.NAME!=TABLEB.NAME AND TABLEA.LAST_NAME!=TABLEB.LAST_NAME;