其语法格式为: SELECT column_name
FROM table_name1 RIGHT [OUTER] JION table_name2 ON table_name1.column_name=table_name2.column_name 其中OUTER 关键字可以省略。 3)完全外连接 其语法格式为: SELECT? column_name
FROM table_name1 FULL[OUTER] JOIN table_name2 ON table_name1.column_name=table_name2.column_name 其中OUTER 关键字可以省略。
3.什么是子查询?在T-SQL 语言中存在哪几种基本的子查询方式? 答:
括号内的查询语言作为条件嵌入在外WHERE 子句中,我们将括号内的查询语句称为子查询,与之相对的就是父查询或外层查询,即包含子查询语句。 基本的子查询方式:
1. 带有IN 或NOT IN 的子查询 2. 带有比较运算符的子查询 3. 带有EXISTS 运算符的子查询
4.在“stums”数据库中,用T-SQL语句完成下列操作。
1. 采用等值连接的方法,查出每个教师及其系部的详细情况。 SELECT 教师表.*, 系部表.* FROM 教师表, 系部表 WHERE 教师表.系部代码=系部表.系部代码 2.列出没有选修“西方经济学”课程的学生信息。 SELECT *
FROM 学生基本信息 WHERE 学号 NOT IN
( SELECT 学号 FROM 选课 WHERE 课程号=
( SELECT 课程号 FROM 课程 WHERE 课程名=’西方经济学’) )
3.列出比所有“071071”班的学生年龄都大的学生。 SELECT *
FROM 学生基本信息 WHERE 出生日期>ANY
( SELECT 出生日期 FROM 学生基本信息 WHERE 班号=’071071’) 4.将所有是“共青团员”的学生记录找出并插入新创建表中。
SELECT * INTO 共青团员 FROM 学生基本信息
WHERE 政治面貌='共青团员'
第8课 创建学生信息管理系统中的视图 1.简述视图与基本表的区别与联系。 答:
视图是从一个或多个表(或视图)导出的表,在数据库中是作为一个对象来存储的。
视图是数据库系统提供给用户以多种角度观察数据库中数据的重要机制,有时为与视图区别,将视图称为虚拟表,用于创建视图的表称为基本表。
视图的结果集通常不保存在数据库中,数据库中只存储视图的定义,而不存放构成视图的数据内容,这些数据仍然存放在原来的基本表中,只有在引用视图时根据视图的定义去操作与视图相关联的基本表,动态生成视图所需的数据结构。
2.如何创建和使用视图? 答:
在SQL Server中,可以使用企业管理器或视图向导创建视图,也可以使用T-SQL的CREATE VIEW语句创建视图。 可以通过SELECT语句使用视图查询信息,可以通过INSERT、UPDATE、DELETE语句使用视图更新基本表中的数据。 3.创建视图哪一个选项将机密语句文本? 答:
加密选项为WITH ENCRYPTION,选择此项则在系统表syscommentes中存储CREATE VIEW语句时进行加密。 4.在CREATE VIEW命令中哪个选项将强制所有通过视图更新的数据必须满足SELECT子句中指定的条件? 答:
在CREATE VIEW命令中WITH CHECK OPTION选项将强制所有通过视图更新的数据必须满足SELECT子句中指定的条件。 5.查看视图的定义信息,应使用哪一个系统存储过程? 答:
使用系统存储过程sp_helptext可查看视图的定义信息。 6.重命名视图应使用哪一个系统存储过程? 答:
重命名视图应使用sp_rename系统存储过程。
7.可用什么语句删除视图?创建某视图的基本表被删除了,该视图也一起被删除了? 答:
可以使用DROP语句删除视图。其语法为:DROP VIEW 视图名称
执行此语句后,指定视图的定义将在数据字典中删除。由该视图基本表创建的视图的定义虽然在数据字典中,但该视图已无法使用。
创建某视图的基本表被删除了,该视图将失效,但一般不会被自动删除。 8.写出T-SQL语句,对STUMS数据库进行如下操作:
1.创建一个名为CJ_BK_VIEW的视图,该视图中包含不及格学生的学号、姓名、课程名,成绩和所在的班级名信息。 答:CREATE VIEW CJ_BK_VIEW AS
SELECT学生基本信息.学号,姓名,课程名,成绩, 班级名称 FROM 学生基本信息,选课,课程,班级
WHERE学生基本信息.学号=选课.学号 AND选课.课程号=课程.课程号AND 学生基本信息.班号=班级.班号AND 成绩<60
2.创建一个名为JS_RK_VIEW的视图,该视图中包含教师编号、姓名、课程名、学时、授课班级和学生数。 答:CREATE VIEW JS_RK_VIEW AS
SELECT教师. 教师编号,姓名,课程名,学时, 班号,学生数 FROM 教师,教师任课,课程,教学计划
WHERE教师.教师编号=教师任课.教师编AND教师任课.课程号=课程.课程号AND. 教师任课.课程号=教学计划.课程号 3.通过CJ_BK_VIEW视图查询补考的学生信息。 答:SELECT * FROM CJ_BK_VIEW
4.通过07_NJ_VIEW视图进行插入、修改和删除,数据由自己拟定。 答:INSERT 07_NJ_VIEW(学号,姓名,籍贯) VALUES(‘071172008’,’薛云’,’南京’) UPDATE 07_NJ_VIEW SET 姓名=’薛玫’ WHERE姓名=’薛云’ DELETE ?07_NJ_VIEW WHERE姓名=’薛玫’
5.使用系统存储过程sp_depends查看07_NJ_VIEW视图的相关性。 答:EXEC sp_depends 07_NJ_VIEW
6.使用ALTER VIEW 语句修改视图,使CJ_BK_VIEW为加密视图。 答:ALTER VIEW CJ_BK_VIEW AS
SELECT学生基本信息.学号,姓名,课程名,成绩, 班级名称 FROM 学生基本信息,选课,课程,班级
WHERE学生基本信息.学号=选课.学号 AND选课.课程号=课程.课程号AND 学生基本信息.班号=班级.班号干部AND 成绩<60
WITH ENCRYPTION
7.将07_NJ_VIEW视图重命名为NEW_VIEW。 答:sp_rename ‘07_NJ_VIEW’,’ NEW_VIEW’ 8.删除CJ_BK_VIEW视图。 答:DROP VIEW CJ_BK_VIEW
第8课 创建学生信息管理系统中的视图 1.简述视图与基本表的区别与联系。 答:
视图是从一个或多个表(或视图)导出的表,在数据库中是作为一个对象来存储的。
视图是数据库系统提供给用户以多种角度观察数据库中数据的重要机制,有时为与视图区别,将视图称为虚拟表,用于创建视图的表称为基本表。
视图的结果集通常不保存在数据库中,数据库中只存储视图的定义,而不存放构成视图的数据内容,这些数据仍然存放在原来的基本表中,只有在引用视图时根据视图的定义去操作与视图相关联的基本表,动态生成视图所需的数据结构。
2.如何创建和使用视图? 答:
在SQL Server中,可以使用企业管理器或视图向导创建视图,也可以使用T-SQL的CREATE VIEW语句创建视图。 可以通过SELECT语句使用视图查询信息,可以通过INSERT、UPDATE、DELETE语句使用视图更新基本表中的数据。 3.创建视图哪一个选项将机密语句文本? 答:
加密选项为WITH ENCRYPTION,选择此项则在系统表syscommentes中存储CREATE VIEW语句时进行加密。 4.在CREATE VIEW命令中哪个选项将强制所有通过视图更新的数据必须满足SELECT子句中指定的条件? 答:
在CREATE VIEW命令中WITH CHECK OPTION选项将强制所有通过视图更新的数据必须满足SELECT子句中指定的条件。 5.查看视图的定义信息,应使用哪一个系统存储过程? 答:
使用系统存储过程sp_helptext可查看视图的定义信息。 6.重命名视图应使用哪一个系统存储过程? 答:
重命名视图应使用sp_rename系统存储过程。
7.可用什么语句删除视图?创建某视图的基本表被删除了,该视图也一起被删除了? 答:
可以使用DROP语句删除视图。其语法为:DROP VIEW 视图名称
执行此语句后,指定视图的定义将在数据字典中删除。由该视图基本表创建的视图的定义虽然在数据字典中,但该视图已无法使用。
创建某视图的基本表被删除了,该视图将失效,但一般不会被自动删除。 8.写出T-SQL语句,对STUMS数据库进行如下操作:
1.创建一个名为CJ_BK_VIEW的视图,该视图中包含不及格学生的学号、姓名、课程名,成绩和所在的班级名信息。 答:CREATE VIEW CJ_BK_VIEW AS
SELECT学生基本信息.学号,姓名,课程名,成绩, 班级名称 FROM 学生基本信息,选课,课程,班级
WHERE学生基本信息.学号=选课.学号 AND选课.课程号=课程.课程号AND 学生基本信息.班号=班级.班号AND 成绩<60 2.创建一个名为JS_RK_VIEW的视图,该视图中包含教师编号、姓名、课程名、学时、授课班级和学生数。 答:CREATE VIEW JS_RK_VIEW AS
SELECT教师. 教师编号,姓名,课程名,学时, 班号,学生数 FROM 教师,教师任课,课程,教学计划
WHERE教师.教师编号=教师任课.教师编AND教师任课.课程号=课程.课程号AND. 教师任课.课程号=教学计划.课程号 3.通过CJ_BK_VIEW视图查询补考的学生信息。
答:SELECT * FROM CJ_BK_VIEW
4.通过07_NJ_VIEW视图进行插入、修改和删除,数据由自己拟定。 答:INSERT 07_NJ_VIEW(学号,姓名,籍贯) VALUES(‘071172008’,’薛云’,’南京’) UPDATE 07_NJ_VIEW SET 姓名=’薛玫’ WHERE姓名=’薛云’ DELETE ?07_NJ_VIEW WHERE姓名=’薛玫’
5.使用系统存储过程sp_depends查看07_NJ_VIEW视图的相关性。 答:EXEC sp_depends 07_NJ_VIEW
6.使用ALTER VIEW 语句修改视图,使CJ_BK_VIEW为加密视图。 答:ALTER VIEW CJ_BK_VIEW AS
SELECT学生基本信息.学号,姓名,课程名,成绩, 班级名称 FROM 学生基本信息,选课,课程,班级
WHERE学生基本信息.学号=选课.学号 AND选课.课程号=课程.课程号AND 学生基本信息.班号=班级.班号干部AND 成绩<60
WITH ENCRYPTION
7.将07_NJ_VIEW视图重命名为NEW_VIEW。 答:sp_rename ‘07_NJ_VIEW’,’ NEW_VIEW’ 8.删除CJ_BK_VIEW视图。 答:DROP VIEW CJ_BK_VIEW
第9课 为学生信息管理系统创建存储过程 1.什么是存储过程?使用存储过程有哪些特点? 答:
存储过程是一种数据库对象,通常是把实现某个特定任务的一组预编译的SQL语句创建一个存储过程,以一个存储单元的形式存储在服务器上,供用户反复调用,提高程序的使用效率。
使用存储过程的优点:允许模块化程序设计;允许更快执行;减少网络流量;可作为安全机制使用。 2.试说明存储过程分类的特点。 答:
1)系统存储过程。存储在master数据库中,并以sp_为前缀,许多管理和信息活动可以通过系统存储过程执行。 2)本地存储过程。是用户自行创建的并存储在用户数据库中的存储过程。这类存储过程能根据用户的实际需要完成某以特定的功能。
3)临时存储过程。临时存储过程分为本地临时存储过程和全局临时存储过程。在创建存储过程时。如果过程名的第一