簡體   English   中英

MySQL查詢-選擇兩個表的兩列之間的差異

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM