*(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)