数据库实验三 课内实验

数据库实验三

*(1)目的和要求
了解SQL语句的查询功能,理解视图的概念。熟练掌握使用SQL语句进行数据库的简单查询、连接查询、嵌套查询及组合查询的操作;掌握视图创建语句和视图的使用方法,加深对视图作用的理解。
学生根据实际应用需要,完成较复杂的查询。
(2)内容
i) 视图的创建、操作
CREATE VIEW <视图名>[(<列名>[,<列名>]…)]
AS <子查询> [WITH CHECK OPTION];
j) 单表查询
常用的查询条件
查询条件 谓 词
比 较 =、>、<、>=、<=、!=<=、!=
NOT+上述比较运算符
确定范围 BETWEEN AND, NOT BETWEEN AND
确定集合 IN, NOT IN
字符匹配 LIKE, NOT LIKE
空 值 IS NULL, IS NOT NULL
多重条件 AND, OR

SQL集函数
COUNT([DISTINCT|ALL] *) 统计元组个数
COUNT([DISTINCT|ALL] <列名>) 统计一列中值的个数
SUM([DISTINCT|ALL] <列名>) 计算一列值的总和
(此列必须是数值型)

AVG([DISTINCT|ALL] <列名>) 计算一列值的平均值
(此列必须是数值型)

MAX([DISTINCT|ALL] <列名>)
求一列值中的最大值
MIN([DISTINCT|ALL] <列名>) 求一列值中的最小值

k) 连接查询
等值与非等值连接查询,格式为:
[<表名1>.]<列名1> <比较运算符> [<表名2>.]<列名2>
自身连接
外连接
复合条件连接

l) 嵌套查询
带有IN谓词的子查询
带有比较运算符的子查询
带有ANY或ALL谓词的子查询,语义为:

ANY 大于子查询结果中的某个值
< ANY 小于子查询结果中的某个值
= ANY 大于等于子查询结果中的某个值
<= ANY 小于等于子查询结果中的某个值
<= ANY 小于等于子查询结果中的某个值
= ANY 等于子查询结果中的某个值

!= ANY或<> ANY 不等于子查询结果中的某个值

ALL 大于子查询结果中的所有值
< ALL 小于子查询结果中的所有值
= ALL 大于等于子查询结果中的所有值
<= ALL 小于等于子查询结果中的所有值
<= ALL 小于等于子查询结果中的所有值
= ALL 等于子查询结果中的所有值(通常没有实际意义)
!= ALL或<> ALL 不等于子查询结果中的任何一个值

带有EXISTS谓词的子查询

m) 集合查询
并操作UNION
(3)实例
n) 建立信息系学生的视图。
CREATE VIEW IS_Student AS
SELECT Sno, Sname, Sage
FROM Student
WHERE Sdept=‘IS’;

o) 查询每个学生及其选修课程的情况
SELECT Student., SC.
FROM Student, SC
WHERE Student.Sno=SC.Sno;
*

create view IS_Student_view 
as
select Sno,SName,Sage from Student
where Sdept='数学系';

```create view IS_Student_view 
as
select Sno,SName,Sage from Student
where Sdept='政治系';


SELECT*
FROM Student
WHERE Sdept='政治系';

select Student.*,SC.*
from Student, SC
where Student.Sno=SC.SCsno;



[实验二链接,实验三建立在实验二的基础上的](https://blog.csdn.net/qq_48107900/article/details/109220401)
[实验报告](https://download.csdn.net/download/qq_48107900/13010322)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值