之前寫過一篇《對sql中left join、right join、inner join比較》的文章,也算是對左、右鏈接一個比較淺顯的認識,今天再寫一下對他們更深一層次的理解,也是接着上一篇博客《case when的使用》中介紹的業務拓展後所學、所得!
上一篇文章實現了對學生表中所有男女生人數的統計,之後有需要完成對他們所屬班級的信息的查詢,在原來的基礎上加入了group by即可
表:
sql語句:
SELECT
classname,
SUM(
CASE sex
WHEN '男' THEN
1
ELSE
0
END
) AS female,
SUM(
CASE sex
WHEN '女' THEN
1
ELSE
0
END
) AS male
FROM
student
GROUP BY
className
查詢結果:
然後,又需要完成對這些班級所屬年級的一個查詢,由於學生(student)和機構(institution)是不同的兩張表,要想完成對年級信息的查詢必須要和機構表的連接查詢,只需要把剛剛查詢的結果看做另外一張表和institution表左連接即可查詢到所有需要的信息。
爲什麼要寫這篇文章呢,是因爲之前一直以爲左右連接是針對於兩個表之間的,直到完成了此次的連接查詢才認識到左、右連接是不侷限於表的,只要有得到的表結構均可以完成他們之間的左右連接!