1、select的语法结构
SELECT[ALL|DISTINCT] <目标列表达式> [AS 列名] ,[<目标列表达式> [AS 列名] ...]
FROM<表名> [,<表名>…]
WHERE <条件表达式> [AND|OR <条件表达式>...
GROUP BY 列名
HAVING <条件表达式>
ORDER BY 列名 [ASC | DESC]
WITH OWNERACCESS OPTION;
说明:
[ ALL|DISTINCT|DISTINCTROW|TOP ]
(1)ALL:全部;
(2)DISTINCT:不包括重复行
(3) DISTINCTROW 如果有重复的记录,只返回一个
(4) TOP显示查询头尾若干记录。也可返回记录的百分比,这是要用 TOP N PERCENT子句(其中N 表示百分比)
<目标列表达式> :对字段可使用AVG、COUNT、SUM、MIN、MAX、运算符等
聚合函数
- SUM ( ) 求和
- AVG ( ) 平均值
- COUNT ( ) 表达式中记录的数目
- COUNT (* ) 计算记录的数目
- MAX 最大值
- MIN 最小值
- VAR 方差
- STDEV 标准误差
- FIRST 第一个值
- LAST 最后一个值
AS :为字段取别名
SELECT FirstNameAS NickName ,LastName ,City FROM Employees;
<条件表达式> :就是查询条件 谓词
- 比较运算符: =,> ,< , >=, <= , <>不等于,!> ,!<
- 确定范围 :BETWEEN AND、NOT BETWEEN AND
- 确定集合: IN、NOT IN
- 模糊匹配: LIKE(“%”匹配任何长度,“_”匹配一个字符)、NOT LIKE
- 空值: IS NULL、IS NOT NULL
- 子查询: ANY、ALL、EXISTS
- 集合查询: UNION(并)、INTERSECT(交)、MINUS(差)
- 多重条件: AND、OR、NOT
<GROUP BY 列名> 对查询结果分组
HAVING <条件表达式> 分组筛选条件
GROUP BY和HAVING子句用来对数据进行汇总。GROUP BY子句指明了按照哪几个字段来分
ORDER BY 列名 [ASC | DESC] 对查询结果排序; -- ASC:升序 DESC:降序