关键字的执行顺序:
select--from--where--group by--having--order by
其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序
与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行
from--where--group by--having--select--order by,
from:需要从哪个数据表检索数据
where:过滤表中数据的条件
group by:如何将上面过滤出的数据分组
having:对上面已经分组的数据进行过滤的条件
select:查看结果集中的哪个列,或列的计算结果
order by :按照什么样的顺序来查看返回的数据
stuInfo
stuId banjiId
01 1
02 1
03 1
04 2
05 2
查询学生01的班级有多少人?
select b.stuId, b.banjiId, COUNT(1) from 'stuInfo' a,
(select stuId ,banjiId from 'stuInfo' where stuId in (01) group by stuId,banjiId) b
where a.banjiId = b.banjiId group by studId
left join ... on 与 where的区别?
首先:数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。
在使用left join时,on和where条件的区别如下:
1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。
https://blog.youkuaiyun.com/u012129558/article/details/51253644
https://blog.youkuaiyun.com/cs958903980/article/details/52185025(左连接和where的结合使用)
https://www.cnblogs.com/dudumiaomiao/p/5724229.html(left join on 与 where的使用)
本文详细解析了SQL查询的执行顺序,包括select、from、where等关键字的执行流程,并对比了left join on与where条件的区别,阐述了两者在数据库连接操作中的不同作用。
3198

被折叠的 条评论
为什么被折叠?



