Select 语句
SELECT:选择原生字段或者定义新字段
- 字段名以逗号隔开,最后一个字段后不需要加逗号
- Distinct 关键字作用于全部列
- 空格|AS 别名称
- 通过操作符、数据处理函数、聚集函数、窗口函数自定义表达式生成新字段
- 当不FROM子句时,就是直接计算select后接的表达式
- 当包含GROUP BY子句时,select中只能包含GROUP BY 子句中的列或者表达式、还有聚合函数计算表达式
FROM Clause:明确数据来源及表之间的连接关系
- TableA LEFT|INNER JOIN TableB ON Conditions
WHERE Claues:根据筛选条件选择目标样本
- IS 谓词,用于NULL判断,不能使用ColumnName = NULL
- NOT 谓词,否定后面的布尔表达式值
- IN 谓词,后接(候选值1, 候选值2,…)、子查询
- LIKE 谓词:只作用字符型列,启用通配符搜索模式,%匹配任意个字符,_匹配单一字符,区分大小写,注意字符串开头与末尾上数据库自动填充的空格
- BETWEEN 谓词,只作用于数值型列,BETWEEN ValueA AND ValueB
- 比较运算符,当列为字符型时,筛选条件中的值需加上单引号,区分大小写
GROUP BY Clause:对样本进行分组
- 分组列中包含NULL时,NULL单独分为一组
HAVING Clause:筛选目标组
- Having 是组过滤,粒度是组;Where是行过滤,粒度是行;
- Having的使用语法与Where相同
ORDER BY Clause: 根据字段排序表
- 只能位于Select语句的末尾
- DESC关键字放在ColumnName后,作用范围仅限前接的ColumnName,若需根据多个列排序,以逗号隔开