select的完整语法如下:
SELECT [ALL | DISTINC] TOP n[PERCENT] WITH TIES select_list
[INTO [new table_name]]
[FROM {table_name | view_nam} ]
[,{table_name | view_nam}]
[...,{table_name | view_nam}]
[WHERE clause]
[GROUP BY clause]
[Having clause]
[ORDER BY clause]
[COMPUTE clause]
[FOR BROWSE]
SELECT语句中可以使用的算术表达式有:+、-、*、/和小括号
DISTINCT关键字,保证在查询结果集中不会出现重复的记录
WHERE子句用于筛选从FROM子句中返回的值,完成的是选择操作
1)where中的条件表达式如下:
A=B 、A>B、A<B、A!=B 、A LIKE B(LIKE是匹配运算符,可用通配符:%表示0个、1个或者多个任意字符。_代表任意一个字符)
2)连接运算符
AND 和OR (可将多个表达式关联起来组成复合判断条件)
3)NULL值
用来描述记录中没有定义字段的数值,使用=对NULL值进行查询,无法得到需要的结果。而应该用IS NULL或者IS NOT NULL
ORDER BY子句是对查询得到的结果集进行排序。ASC升序排序,也是默认的排序方式。DESC是降序排序。ORDER BY子句后也可跟多个列,这样输出的结果首先会按照第一列进行排序,当第一列的值相同时,按照第二列进行排序
GROUP BY子句用于在查询结果集中对记录进行分组,以汇总数据或者为整个分组显示单行的汇总信息。使用GROUP BY子句和统计函数可以对查询结果集中每一组数据进行分类统计。常用的统计函数有:
COUNT —— 返回找到的记录数
MIN —— 返回一个数据列或者计算列的最小值
MAX —— 返回一个数据列或者计算列的最大值
SUM —— 返回一个数据列或者计算列的总和
AVG —— 返回一个数据列或者计算列的平均值
其中在使用GROUP BY 子句时候必须满足以下条件:
HAVING子句,通常与GROUP BY子句一起使用,在完成对分组结果统计后,可以使用HAVING子句对分组的结果做进一步的筛选。HAVING子句一般应用于组,但是在没有GROUP BY时候,应用于WHERE,将WHERE输出看作一个组。如果既没有GROUP BY也没有WHERE子句,则HAVING作用于FROM子句输出,并且将其看作一个组。