//sql1 = "select a.*, b.* from zf_sys_user a left join ( select * from zf_user_exam_info where user_id in (1, 2, 3) and exam_id = 1 ) b on a.id = b.user_id where a.id in (1, 2, 3)";
//sql2 = "select a.*, b.* from (select * from zf_sys_user where id in (1, 2, 3) ) a left join ( select * from zf_user_exam_info where exam_id = 1 ) b on a.id = b.user_id";兩個sql具有同樣的功能,以左表作為主表,例如左表a有三條資料,右表b有兩條資料,a.id=b.user_id,
我需要查出三條資料,以上兩者都可以。
相同的是條件exam_id=1都放在了left join右邊的表裡面
同時mysql left join 這篇文章我讀起來比較好理解,儲存起來備用
還是第二個吧
MySQL left join 避坑指南
這裡我先給出乙個場景,並丟擲兩個問題,如果你都能答對那這篇文章就不用看了。那麼現在有兩個需求 找出每個班級的名稱及其對應的女同學數量 找出一班的同學總數 對於需求1,大多數人不假思索就能想出如下兩種sql寫法 正確 select c.name,count s.name as num from cla...
MYSQl left join聯合查詢效率分析
user表 id name 1 libk 2 zyfon 3 daodao user action表 user id action 1 jump 1 kick 1 jump 2 run 4 swim sql select id,name,action from user as u left join...
MYSQl left join 聯合查詢效率分析
user表 id name 1 libk 2 zyfon 3 daodao user action表 user id action 1 jump 1 kick 1 jump 2 run 4 swim sql select id,name,action from user as u left join...