A、使用SELECT语句
(1)输出表中的所有字段
- USE 数据库名
- SELECT * FROM 表名
(2)输出表中部分字段
- UES 数据库名
- SELECT 列名字段[,…n] FROM 表名
(3)为字段指定别名
- 格式一:
- SELECT 原名 AS 别名 FROM 数据源
- 格式二:
- SELECT 别名=原名 FROM 数据源
(4)过滤重复行
- 语法:
- SELECT DISTINCT 字段 FROM 表名
(5)限制返回行数
- 格式一:
- SELECT TOP 5 列名字段 FROM 表名
- 格式二:
- SELECT TOP 50 PERCENT 列名字段 FROM 表名
注:PERCENT是百分比,但是不能用‘%’来代替
B、使用INTO 子句
INTO子句可以创建一个新表,并将查询的结果添加到新表中。
- 语法格式:
- SELECT 字段名 INTO 新表名 FROM 原表名
注:若INTO子句后的新表名前以‘#’开头,为临时表;若在WHERE子句中的表达式始终为假时,则会形成与原表相同结构的空表。
C、使用WHERE子句
(1)比较运算
- SELECT * FROM 学生信息 WHERE 年龄>19
(2)范围运算
BETWEEN ……AND和NOT BETWEEN……AND
- 语法:
- 列名 BETWEEN 起始值 AND 终止值
- 例如:
- SELECT *FROM 学生信息 WHERE 年龄 BETWEEN 18 AND 20
(3)列表运算
- 语法:
- 字段名 [ NOT ] IN( 列值一,列值二,列值三,…… )
- 例如:
- SELECT * FROM 学生信息 WHERE 年龄 IN(18,20,21)
注:若列值为字符,则应加英文的单引号。
(4)模式匹配运算符
LIKE和NOT LIKE
- 语法:
- 字段名 [ NOT ] LIKE '通配符'
- 例如:在学生信息表中查询姓李的同学的记录
- SELECT * FROM 学生信息 WHERE 姓名 LIKE '李%'
其中通配符包括以下四种:
%:代表任意多个字符串;例如:‘A%’或‘%A’
_:代表单个字符;例如:A_C
[ ]:代表指定范围内的单个字符。例如:A[ b,c,d ],B[ a-h ]
[ ^ ]:代表不在指定范围内的单个字符。例如:A[ ^a-h ]
(5)空值运算符
- 语法:
- 测试字段名 [ NOT ] IS NULL
- 例如:查询年龄为空的学生记录
- SELECT * FROM 学生信息 WHERE 年龄 IS NULL
(6)逻辑运算符
AND、OR、NOT 即与、或、非
- 语法格式:
- 逻辑表达式1 OR/AND 逻辑表达式2
- 例如:查询学生信息表中年龄大于19岁的男生的记录
- SELECT * FROM 学生信息 WHERE 年龄>19 AND SEX='男'
D、升降序查询
- 语法格式:
- ORDER BY 列名 [ ASC或DESC ]……
- 默认为ASC(升序)
- 例如:查询学生信息表中所有同学,并按年龄降序排列,相同年龄按学号升序排序。
- SELECT *FROM 学生信息 ORDER BY 年龄 DESC ,学号