亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Mysql:從表中選擇不在另一個表中的行

Mysql:從表中選擇不在另一個表中的行

白衣染霜花 2019-12-21 12:34:06
如何選擇一個表中所有未出現在另一表中的行?表格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 回答

?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

如果您在另一條注釋中提到有300列,并且想要對所有列進行比較(假設這些列的名稱相同),則可以使用a NATURAL LEFT JOIN隱式聯接兩個表之間所有匹配的列名稱,以便不必繁瑣地手動輸入所有加入條件:


SELECT            a.*

FROM              tbl_1 a

NATURAL LEFT JOIN tbl_2 b

WHERE             b.FirstName IS NULL


查看完整回答
反對 回復 2019-12-21
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

您需要基于列名而不是進行子選擇*。


例如,如果您有id兩個表共有的字段,則可以執行以下操作:


SELECT * FROM Table1 WHERE id NOT IN (SELECT id FROM Table2)


查看完整回答
反對 回復 2019-12-21
?
慕標5832272

TA貢獻1966條經驗 獲得超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 會幫助你...


查看完整回答
反對 回復 2019-12-21
  • 3 回答
  • 0 關注
  • 483 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號