mysql left join實際遇到的問題

2021-07-09 03:05:43 字數 602 閱讀 7311

//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...