如何選擇一個表中所有未出現(xiàn)在另一表中的行?表格1:+-----------+----------+------------+| FirstName | LastName | BirthDate |+-----------+----------+------------+| Tia | Carrera | 1975-09-18 || Nikki | Taylor | 1972-03-04 || Yamila | Diaz | 1972-03-04 |+-----------+----------+------------+表2:+-----------+----------+------------+| FirstName | LastName | BirthDate |+-----------+----------+------------+| Tia | Carrera | 1975-09-18 || Nikki | Taylor | 1972-03-04 |+-----------+----------+------------+表1中不在表2中的行的示例輸出:+-----------+----------+------------+| FirstName | LastName | BirthDate |+-----------+----------+------------+| Yamila | Diaz | 1972-03-04 |+-----------+----------+------------+也許這樣的事情應該工作:SELECT * FROM Table1 WHERE * NOT IN (SELECT * FROM Table2)
3 回答

阿波羅的戰(zhàn)車
TA貢獻1862條經(jīng)驗 獲得超6個贊
如果您在另一條注釋中提到有300列,并且想要對所有列進行比較(假設這些列的名稱相同),則可以使用a NATURAL LEFT JOIN隱式聯(lián)接兩個表之間所有匹配的列名稱,以便不必繁瑣地手動輸入所有加入條件:
SELECT a.*
FROM tbl_1 a
NATURAL LEFT JOIN tbl_2 b
WHERE b.FirstName IS NULL

回首憶惘然
TA貢獻1847條經(jīng)驗 獲得超11個贊
您需要基于列名而不是進行子選擇*。
例如,如果您有id兩個表共有的字段,則可以執(zhí)行以下操作:
SELECT * FROM Table1 WHERE id NOT IN (SELECT id FROM Table2)

慕標5832272
TA貢獻1966條經(jīng)驗 獲得超4個贊
SELECT *
FROM Table1 AS a
WHERE NOT EXISTS (
SELECT *
FROM Table2 AS b
WHERE a.FirstName=b.FirstName AND a.LastName=b.Last_Name
)
EXISTS 會幫助你...
添加回答
舉報
0/150
提交
取消