MySQL②DQL基本语法、执行顺序


浅浅总结 DQL

DQL(Data Query Language):数据查询语言

用于查询数据库中表的记录。

本文是总结性文章,用于个人复习,不适合初学。

基本语法

SELECT
FROM 
	 JOIN 
	ON 
WHERE 
GROUP BY 
HAVING 
ORDER BY 
LIMIT 
  1. 基本查询SELECT 不带任何条件)
    • *:所有字段,尽量少用(不直观、影响效率)
    • 别名
    • 去重DISTINCT
  2. 条件查询WHERE
    • 比较运算符
      • ><>=<==!=<>
      • BETWEEN ... AND ...IN(...)
      • LIKE ...IS NULL
    • 逻辑运算符
      • AND&&
      • OR||
      • NOT!
  3. 聚合函数NULL 不参与聚合函数运算)
    • COUNT
    • MAX
    • MIN
    • AVG
    • SUM
  4. 分组查询GROUP BY
    • 支持多字段分组
    • 可以使用 HAVING 进行分组后过滤
    • HAVING:分组后过滤,且支持对聚合函数的判断
  5. 排序查询ORDER BY
    • ASC:升序,默认
    • DESC:降序
    • 支持多字段排序,按顺序先后排序
    • :按姓名升序,姓名相同则按年龄降序
      ORDER BY age, name DESC
  6. 分页查询LIMIT
    • 语法LIMIT 起始索引, 每页记录数
    • 起始索引 = (查询页码 - 1)* 每页记录数
    • :查询第 3 页数据,每页展示 10 条记录
      LIMIT 20, 10

执行顺序

(7) SELECT
(1) FROM 
(3) 	 JOIN 
(2) 	ON 
(4) WHERE 
(6) HAVING 
(8) ORDER BY 
(9) LIMIT 
  • SELECT:选择指定列
  • DISTINCT:指定列去重
  • FROM:指定查询的表,计算笛卡尔积
  • JOIN:连接类型,添加关联外部表数据
  • ON:连接条件
  • WHERE:条件查询(分组前过滤)
  • GROUP BY:分组查询
  • HAVING:条件查询(分组后过滤)
  • ORDER BY:排序查询
  • LIMIT:分页查询