数据库教程3_2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库系统概论
参考:第三章关系数据库标准查询语言P91-P117
本章内容
第一节SQL概述
第二节学生课程数据库
学生-课程数据库
第三节数据定义
第四节数据查询
第五节数据更新
第六节视图
第七节小结
本节目标
使用select语句
查询满足一定条件的元组;
查询某些属性的值;
使用表别名和列别名;
利用DISTINCT去掉查询结果中的重复行;
通过在WHERE子句中放入连接条件进行 通过在WHERE子句中放入连接条件,进行多表连接查询;
利用GROUP BY进行分组统计
利用GROUP BY进行分组统计
利用ORDER对查询结果按要求排序;
数据查询内容概要“数据查询”内容概要 查询语句概述
基本语法
子句功能
select语句的含义
单表查询
连接查询
嵌套查询
集合查询
一、基本语法
一基本语法
基本语法
SELECT [ALL|DISTINCT]〈目标列表达式〉[,〈目标列表达式>] …
FROM〈表名或视图名〉[,〈表名或视图名〉] …
[WHERE<条件表达式>]
[GROUP BY 〈列名〉[,〈列名〉]…
[HAVING <内部函数表达式>] ]
[ORDER BY〈列名〉[ASC│DESC][,〈列名〉[ASC│DESC]]…]
列名│列名│
二子句功能
二、子句功能
子句功能
SELECT子句与FROM子句是必选子句;
SELECT ----列出查询的结果;
FROM----
FROM 指明所访问的对象;
WHERE ----指定查询的条件;
GROUP BY;
GROUP BY ----将查询结果按指定字段的取值分组;
HA VING ----筛选出满足指定条件的组;
ORDER BY按指定的字段的值以升序或降序 ORDER BY ----按指定的字段的值,以升序或降序
排列查询结果
三
三、SELECT语句的含义
SELECT语句的含义
根据WHERE子句中的条件表达式,从FROM子句中的基本
表或视图中找出满足条件的元组
表或视图中找出满足条件的元组;
按SELECT子句中的目标字段,选出元组中的分量形成结果表;
GROUP BY子句将结果按字段分组,每个组产生结果表中的个元组;
一个元组;
通常在每组中作用库函数,分组的附加条件用HA VING短语给出;只有满足内部函数表达式的组才予输出;
如果有ORDER BY子句,则结果表要根据指定的字段按升序或降序排列。
“数据查询”内容概要
数据查询内容概要
查询语句概述
单表查询
投影查询
选择查询
d b
order by子句
聚集函数
Group by
Group by子句
连接查询
嵌套查询
集合查询
单表查询一、投影
单表查询一投影
SELECT <目标列表达式> FROM <表名或视图名>
目标表达式可以是:属性名、算术表达式、字符串常量、函数等。 属性名
例1 查询全体学生的学号、姓名、所在系
SELECT Sname,Sno,Sdept
FROM Student;
例2 查询全体学生的详细记录
SELECT*
SELECT *
FROM Student;
属性名表达式、常量或函数
例3 查询全体学生的姓名、出生年份SELECT Sname2008Sage Birthday 列别名
SELECT Sname,2008 –Sage Birthday
FROM Student;
例4 查询全体学生的人数
SELECT count(Sname) 学生人数
()
FROM Student;
5
例5 在每个学生的姓名后面显示字符串2007 SELECT Sname,'2007'
FROM student
单表查询二选择单表查询二、选择
取消重复行
在
SELECT
子句中使用DISTINCT
短语
例6 查询选修了课程的学生的学号
SELECT Sno
FROM SC ;SELECT DISTINCT Sno FROM SC ;
单表查询二选择(续)
单表查询二、选择(续) 注意DISTINCT短语的作用范围是所有目标列例查询选修课程的各种成绩
例:查询选修课程的各种成绩
错误的写法
SELECT DISTINCT Cno,DISTINCT Grade
SELECT DISTINCT Cno DISTINCT Grade
FROM SC;
正确的写法
SELECT DISTINCT Cno,Grade
FROM SC;
单表查询二选择(续)
单表查询二、选择(续) 查询满足条件的元组(where子句)WHERE子句常用的查询条件
表3.3 常用的查询条件
表3.4
查询条件谓词
比较=,>,<,>=,<=,!=,<>,!>,!<;NOT+上述比较运算符
确定范围BETWE EN AND,NO T BETW EEN AND 确定集合IN,NOT IN
LI
字符匹配LIKE,NOT LI KE