文章詳情頁
mysql - sql聯查,兩個表關聯,查詢一個不在另一個表的記錄
瀏覽:59日期: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表的記錄是不是有點矛盾啊
排行榜
