视图的定义及维护
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教学内容:
5.2.3视图的定义及维护
1、视图的定义
语句格式:CREATE VIEW〈视图名〉[<列名1>,<列名2>]…)]AS〈查询语句>;
2、视图的删除
语句格式:DROP VIEW〈视图名〉
3、关于视图的说明
5.3SQL的数据更新功能
5.3.1数据插入
1、使用常量插入一条记录
语句格式:INSERT INTO〈表名〉[(〈列名1〉[,〈列名2〉,…])]VALUES(〈常量1〉)[,〈常量2〉,…])
语句功能:将新记录插入指定表中。
2、在表中插入子查询的结果
语句格式:INSERT INTO〈表名〉[(〈列名1〉[,〈列名2〉,…])]<子查询>;
5.3.2数据更新
语句格式:UPDATE〈表名〉
SET〈列名1〉=〈表达式1〉[,〈列名2〉=〈表达式2〉…]
[WHERE〈条件表达式〉];
语句功能:将表中符合条件的记录的某些列用表达式的值替代。
5.3.3数据删除
语句格式:DELETE FROM〈表名〉
[WHERE〈条件表达式1〉];
5.4SQL的数据查询功能
5.4.1SELECT语句介绍
1、SELECT语句格式
SELECT[ALL|DISTINCT]<目标列组>
FORM〈表名〉
[WHERE<记录筛选条件>
[GROUP BY〈分组列1〉][,〈分组列2〉…]][HAVING]〈组筛选条件〉]
[ORDER BY〈排序列1〉[ASC|DESC][,〈排序列2〉[ASC|DESC]…]]
语句功能:从指定的表中选择满足条件的记录。
2、SELECT子句的操作符
(1)算术操作符
SQL的算术操作符有:+、-、*、/四种。
(2)比较操作符
比较操作符用于测试两个数据的关系。
SQL的比较操作符有:=、>、<、>=、<=、!=(不等于)、<>、!>(不大于)、!<(不小于)九种。
(3)逻辑操作符
(4)组合查询操作符
SQL的组合查询操作符是针对传统关系运算的操作符,它包括UNION(并查询)、MINUS(差查询)和INTERSECT(交查询)三种。
组合查询操作符的使用格式为:
<查询1><组合操作符><查询2>
5.4.3连接查询
1、等值连接和非等值连接
连接查询中,用来连接两个表的条件称为连接条件或连接谓词。连接条件的一般格式为:[<表名1>.]<列名><比较运算符>[<表名2>.]<列名>
2、自身连接
连接操作不只是在两个表之间进行,一个表内还可以进行自身连接操作。表自身的连接操作称为自身连接。
5.4.4嵌套查询
1、使用IN操作符的嵌套查询
当IN操作符后的数据集需要通过查询得到时,就需要使用IN嵌套查询。
2、使用比较符的嵌套查询
例如:查询选修了课程C1的成绩高于张亮的学生学号和成绩。
SELECT学号,成绩
FROM选课
WHERE课程号='C1'AND成绩>
(SELECT成绩
FROM选课
WHERE课程号='C1'AND学号=
(SELECT学号
FROM学生
WHERE姓名='张亮'));
3、使用ANY或ALL操作符的嵌套查询
使用ANY或ALL操作符时必须与比较符配合使用,其格式为:
<字段><比较符>[ANY|ALL]<子查询>
4、使用EXISTS操作符的嵌套查询
EXISTS代表存在量词。EXISTS操作符后子查询的结果集中如果不为空,则产生逻辑真值“TRUE”,否则产生假值“FALSE”。
5.4.5组合查询
将SELECT语句的查询结果集再进行集合运算就构成了SQL的组合查询。SQL的组合查询操作符有UNION(并操作)、INTERSECT(交操作)、MINUS(差操作)3种。
例如:查询选修了C1课程但没有选修C2课程的学生学号。
SELECT学号
FROM选课
WHERE课程号='C1'
MINUS
SELECT学号
FROM选课
WHERE课程号='C2';
5.4.6使用分组和SQL函数查询
例如:求学生的总人数。
SELECT COUNT(*)
FROM学生;
例如:求选修了课程的学生人数。
SELECT COUNT(DISTINCT学号)
FROM选课;
例如:求课程和选修该课程的人数。
SELECT课程号,COUNT(学号)
FROM选课
GROUP BY课程号;
例如:求选修课程超过3门课的学生学号。
SELECT学号
FROM选课
FROUP BY学号HAVING COUNT(*)>3;
小结:本次课主要介绍如何用SQL语句建立查询的方法,以及用SQL语句实现数据的定义功能。
作业:P100—1(6)—(10),2,3(3)——(9)