SELECT [ALL|DISTINCT] <目标列名序列> -- 需要哪些列
FROM <表名> [JOIN <表名> ON <连接条件>] -- 来自哪些表
AS <别名>
[WHERE <行选择条件>] -- 根据什么条件
[GROUP BY <分组依据列>]
[HAVING <组选择条件>]
[ORDER BY <排列依据列>]
其中:
- SELECT 子句用于指定输出的字段
- FROM 子句用于指定数据的来源
- WHERE 子句用于指定数据的行选择条件
- GROUP BY 子句用于对检索到的记录进行分组
- HAVING 子句用于指定对分组后结果的选择条件
- ORDER BY 子句用于对查询的结果进行排序
【注意上表中各个语句的顺序】
1.单表查询
1.1 选择若干列
(1)查询指定列
SELECT Sno, Sname FROM Student
(2)查询全部列
SELECT * FROM Student
(3)查询经过计算的值
SELECT Sname,2014-Sage --第二列是一个表达式
FROM Student
注:可以直接更改列名。例如:SELECT 2014-Sage BIRTHDAY
1.2 选择若干元组
(1)消除取值重复的行
SELECT DISTINCT Sno FROM Student
(2)查询满足条件的元组
查询条件 | 谓词 |
---|---|
比较 | =, >, >=, <=, <, <>, !=,!>,!<;NOT + 上述比较运算符。<>与!=都是不等于 |
确定范围 | BETWEEN … AND …, NOT BETWEEN … AND… |
确定集合 | IN, NOT IN |
字符匹配 | LIKE, NOT LIKE |
空值 | IS NULL, IS NOT NULL |
多重条件(逻辑运算) | AND, OR,NOT |
①比较大小
SELECT Sname FROM Student WHERE