SQL基础教程MICK版 ···第三章总结

SELECT语句

SELECT操作 查询数据库中的数据
SELECT <列名>,... FROM <表名>
WHERE子句 用于限定数据行的
GROUP BY子句 用于分组的
HAVING子句 用于限定分组的
ORDER BY子句 用于排序的

关于上表的语句顺序 和 执行顺序

语句顺序是
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
执行顺序是
FROM
WHERE
GROUP BY
HAVING
SELECT
ORDER BY

完整的语法结构

/*
SELECT <列名1>,....
FROM <表名>
WHERE <对上面列名的限定>	-- 聚合键的限定写这里(上一章总结过了 这里不细总结)
GROUP BY <列名1>,...   -- 这里必须和SELECT的聚合键一致
HAVING <对聚合函数的限定>  -- 聚合函数的限定一般写这里
ORDER BY <列名> DESC,...;   -- 这里有 DESC ASC(默认)两种模式,可以对SELECT中未出现的列进行操作。
						-- 当多个列时, 第一个列的值如果相同,才执行后面的排序指令。
						-- 换句话说,ORDER BY的第一列执行权限最高,之后递减。
*/

GROUP BY需要注意的点

  1. 它的操作结果是没有顺序的
  2. 不能使用SELECT中列的别名(前面学过的AS)

用于限定GROUP BY的 HAVING子句

  1. 构成要素

    常数 、 聚合函数、 聚合键

HAVING子句的聚合键限定可以在WHERE中进行操作。这样性能会高一点

关于ORDER BY子句

  1. 与GROUP BY不同,它可以使用SELECT中的别名
  2. 可以使用SELECT中未出现的列名
  3. 可以指定多个排列键
  4. 不能使用列的编号(防止高版本与低版本不兼容,可读性差)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值