语句格式:
SELECT [ALL|DISTINCT] <目标列表达式列表>
FROM <表名或视图名列表> join <表名或视图名列表> on <连接条件>
[ WHERE <条件表达式> ]
[ GROUP BY <列名1> [ HAVING <条件表达式> ] ]
[ ORDER BY <列名2> [ ASC|DESC ] ];
SELECT子句:指定要显示的属性列
FROM子句:指定查询对象(基本表或视图)
WHERE子句:指定查询条件
GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用聚集函数。
HAVING短语:只有满足指定条件的组才予以输出
ORDER BY子句:对查询结果表按指定列值的升序或降序排序
其中,SELECT后的目标列表达式可以是列名、表达式或函数。

查询列:
一、查询指定列
例:查询全体学生的学号与姓名。
SELECT Sno,Sname
FROM Student;
二、查询全部列
选出所有属性列:
在SELECT关键字后面列出所有列名
将<目标列表达式>指定为 *
选择元组:
消除取值重复的行:
如果没有指定DISTINCT关键词,则缺省为ALL
常用的查询条件:
①比较大小
②确定范围
谓词: (NOT) BETWEEN … AND …
③确定集合
谓词:IN <值表>, NOT IN <值表>
④字符匹配
谓词: [NOT] LIKE ‘<匹配串>’ [ESCAPE ‘ <换码字符>’] --适用于字符日期时间类型
<匹配串>可以是一个完整的字符串,也可以含有通配符%和 _
% (百分号) 代表任意长度(长度可以为0)的字符串 如a%b表示以a开头,以b结尾的任意长度的字符串
_ (下横线) 代表任意单个字符。
如a_b表示以a开头,以b结尾的长度为3的任意字符串
[ ] 指定范围(如 [a-f])或集合( [acef])内的任何单个字符。
[^] 不在指定范围(如 [^a - f])或集合(如 [^acdef])内的任何单个字符。
⑤空值查询
谓词: IS NULL 或 IS NOT NULL
注:“IS” 不能用 “ =” 代替
⑥多重条件查询
逻辑运算符:AND和 OR来连接多个查询条件
AND的优先级高于OR,可以用括号改变优先级。
ORDER BY子句
可以按一个或多个属性列排序
升序:ASC;降序:DESC;缺省值为升序
对于空值,排序时显示的次序由具体系统实现来决定

被折叠的 条评论
为什么被折叠?



