陕西建设厅官方网站,建设一个境外网站,网站单页制作,做网站的都改行做什么了当 select 和 其他三种语句的一者或者多者同时出现时#xff0c;他们之间是存在执行先后顺序的。
他们的优先级顺序是#xff1a;where group by select order by limit 目录
1、select 与 where
2、group by 与 where 、select
2、select 与 order…当 select 和 其他三种语句的一者或者多者同时出现时他们之间是存在执行先后顺序的。
他们的优先级顺序是where group by select order by limit 目录
1、select 与 where
2、group by 与 where 、select
2、select 与 order by
3、order by 与 limit
4、优先级证明 1、select 与 where
select是展示查询结果where是条件筛选。这里存在两种情况
select先where后先查询到所有的记录然后再按条件筛选出符合条件的where先select后筛掉不符合条件的然后再展示符合条件的
很显然后者是效率比较高的站在C语言的逻辑就是for循环遍历所有的记录每遍历一条记录就判断该记录是否符合条件不符合就舍弃符合条件就加入到数组。
因此where select 2、group by 与 where 、select
where 是整表记录的筛选group by是根据某一个字段的内容进行分组。
先进行整表筛选可以减少要分组的记录然后group by 在筛选完的基础上进行分组最后select在每一个分组中做查询操作。
因此where group by select 2、select 与 order by
select是展示查询结果order by 是排序这里同样也分为两种情况
select先order by后先查询到所有的记录然后排序order by先select后每遍历到一条记录就对其进行排序这样很显然效率不高说不定要重复遍历之前的记录
因此前者的效率高一点即 select order by 3、order by 与 limit
order by 是排序limit是截取这里已经无需比较了很显然是先排序然后再截取因为先选出几行然后再排序没有意义。
因此order by limit 4、优先级证明
从上述介绍可以得出优先级顺序where select order by limit
我们可以在select语句中为某个字段起一个别名按照上述优先级where子句中是无法使用该别名的但是 order by 和 limit 子句可以使用该别名。
where中无法使用 select 定义的别名 但是order by中可以使用select定义的别名