问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sql查询语句的各个命令执行的标准顺序是什么?为什么?

发布网友 发布时间:2022-04-26 02:57

我来回答

2个回答

热心网友 时间:2022-04-07 20:12

查询语句是sql语句中使用最多的操作,也涉及到非常多的命令。比如where过滤,group

by分组,order by 排序 limit取值 having等。虽然多,但是各个命令执行的时候却是有顺序的,顺序如下:
select *
from 表名
①-- where 条件1
②-- group by 依据列
③-- having 条件2
④-- order by 依据列
⑤-- limit 0,1

为什么是这么个顺序,原因:
limit取值永远是最后一个.
如果你要order by排序,前提是要首先得到一个查询结果.
查询结果中的三个关键词,where总是是放在表名的后面,而havin过滤永远是放在group后面,所以就有了这么个顺序.如果不遵循顺序,就会出现错误。

是不是这样,我们可以用下面的建表语句验证下.
drop table if exists students;
create table students (
studentNo varchar(10) primary key,
name varchar(10),
sex varchar(1),
hometown varchar(20),
age tinyint(4),
class varchar(10),
card varchar(20)
);
insert into students values
('001', '王昭君', '女', '北京', '20', '1班', '340322199001247654'),
('002', '诸葛亮', '男', '上海', '18', '2班', '340322199002242354'),
('003', '张飞', '男', '南京', '24', '3班', '340322199003247654'),
('004', '白起', '男', '安徽', '22', '4班', '340322199005247654'),
('005', '大乔', '女', '天津', '19', '3班', '340322199004247654'),
('006', '孙尚香', '女', '河北', '18', '1班', '340322199006247654'),
('007', '百里玄策', '男', '山西', '20', '2班', '340322199007247654'),
('008', '小乔', '女', '河南', '15', '3班', null),
('009', '百里守约', '男', '湖南', '21', '1班', ''),
('010', '妲己', '女', '广东', '26', '2班', '340322199607247654'),
('011', '李白', '男', '北京', '30', '4班', '340322199005267754'),
('012', '孙膑', '男', '新疆', '26', '3班', '340322199000297655')

查询该表中除1班外,所有其他班级的最大年龄,最小年龄,并且按照班号进行降序排列(过滤掉2班,只显示最前面的一条信息)

那么sql语句就是: select class,max(age),min(age) from students where class !='1班' group by class having class !='2班' order by class desc limit 1

在这条语句中,新人非常容易犯的错误 就是根据题意,将having放在order by 后面导致错误。原因在于order by应该放在hving的后面。 还有其他疑问的话建议你去搜一下黑马程序员,在IT业内算是比较有实力的机构,里面有线上和线下的课程,还有免费的视频,每天看一点学一下还是比较有用的。不过,如果真的是想入行或者进阶的话,花一段时间高专注度的学习是非常有必要的,投资自己报课试一下吧。

热心网友 时间:2022-04-07 21:30

一般都是按语句顺序进行查询,至于标准顺序,要看语句格式和公式等,一般有些语句或者符号或者公式是有优先级的。至于为什么,sql数据库就是这么规定的。具体还是多看教科书。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
桑葚干直接吃还是泡水喝比较好桑葚干直接吃补肾吗 桑葚干泡水吃好还是干吃好 益智仁脑素神经酸片的功效与作用有哪些 黄冈师范学院师范专业有哪些 语文教育专业考研方向分析 黄冈师范学院语文教育专科毕业能拿教师资格证吗 php保留数字小数点后两位的方法 梦见被后咬 梦见母亲给赔鸡钱补了十二元的预兆 梦见门掉下来要二十五元修理费 抖音里,自己打电话,越说越搞笑,最后说自己啥也不是的女生,是谁来着? SQL中查询、删除的命令要怎么输入 SQL查询语句的命令 对方说你笑一笑就更美了,该怎么回复? 在sql语言中最重要的查询命令是哪一条? 笑一笑会更年轻的理由是什么? SQL两表查询用什么命令? 三二一茄子拍个照比个耶是什么歌 SQL查询命令 SQL数据库里面查询表格的命令是什么 在sql中,用于数据查询的命令是 笑一笑,世界更美好呀。什么意思 sql有哪些基本命令??? 女生在斗音个人签名说控制住情绪不要想太多,笑一笑生活会更好代表什么意思? 快手抖音美拍秒拍的相同点和不同点 抖音能设置跟快手那样看作品吗?上下拉看的好烦, QQ怎么创建QQ讨论组100人,50人,求解,谢谢 绵竹高铁站预计什么时候通车 西宁至成都的高铁何时开通? 成都到西宁高铁什么时候通车? 小咖秀,抖音谁更火? 抖音在海外为什么那么火? SQL查询语句命令 sql查询命令,急急急!!各位高手们帮帮忙吧!! SQL中怎样用查询命令, 曲氏孩子起名(给孩子起名男孩) 曲姓起名两个字男孩2017鸡年阴历5月初七的有那些 2010年9月8日10点40 男 曲姓 宝宝帮起个名字 曲姓男孩起名 曲氏(男孩)起名 曲姓 泽字辈 男孩 起名 谢谢 曲姓中间带延取名,男孩 起名,姓曲,君字辈,男孩 曲姓起名 男孩姓曲,大家帮助起名! 华为mate8怎么充电对电池好 请高人为孩子起名 出生日期 2013年1月3日 17点32分 性别:男 姓氏: 曲 华为mate8手机充电时可以操作吗 已经很努力了,为什么人的运气总是差一点点呢?总是差那么一点点就能成功? 生活中做什么事都是离成功差一点点,99分汗水,就差1分运气,怎么办?