left join、right join的再认识

    之前写过一篇《对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
查询结果:

left join、right join的再认识_第1张图片

    然后,又需要完成对这些班级所属年级的一个查询,由于学生(student)和机构(institution)是不同的两张表,要想完成对年级信息的查询必须要和机构表的连接查询,只需要把刚刚查询的结果看做另外一张表和institution表左连接即可查询到所有需要的信息。

    为什么要写这篇文章呢,是因为之前一直以为左右连接是针对于两个表之间的,直到完成了此次的连接查询才认识到左、右连接是不局限于表的,只要有得到的表结构均可以完成他们之间的左右连接!

你可能感兴趣的:(JOIN,sql深入)