您的位置:首頁技術文章
文章詳情頁

mysql - sql聯查,兩個表關聯,查詢一個不在另一個表的記錄

瀏覽:72日期:2022-06-15 16:21:20

問題描述

現在有兩張數據表a,b

表a字段(id, title)

表b中的字段(id, aid, uid),aid是表a的外鍵

查詢不在表b中的a記錄,不要用not in, 查詢條件 uid

a表中的記錄id | title01 測試102 測試203 測試3b表中的記錄id | aid | uid01 01 0102 01 0203 01 0304 02 0105 02 03查詢條件: uid=01

問題解答

回答1:

select a.* from a left join b on a.id=b.aid and b.uid=’01’ where b.id is null group by a.id

主要在于uid=01這個過濾條件不能放在where里面,不然會把a表的數據過濾掉,而放在on則是先過濾b表數據再去和a表關聯

回答2:

這好像不科學啊 uid要去b表取 但是卻要排除b表的記錄是不是有點矛盾啊

国产综合久久一区二区三区