- 任务描述
- 相关知识
- 编程要求
- 测试说明
任务描述
本关任务:使用 集合操作解决实际问题
相关知识
1.集合并操作符
可转换为SQL
若R,S的属性名不同,可使用重命名使相应列名一致后进行并操作 例如:R(A,B,C) S(D,E,F) select A,B from R union select D as A, E as B from S 2.集合交操作
可直接转换为SQL select * from R intersect select * from S 若属性名不同可参照并操作的重命名实现交操作。 3.集合差操作 R-S 可转换为 Select * from R except Select * from S
编程要求
我们已经为你建好了数据库与数据表R,S,并添加了相应的数据内容。
-
1.补全右侧代码片段中 第一题 下 Begin-End 区间的代码,找出所有的导师的姓名和性别
-
2.补全右侧代码片段中 第二题 下 Begin-End 区间的代码,找出既是本科生导师又是硕士生导师的全部信息,包括id,name,sex
-
3.补全右侧代码片段中 第三题 下 Begin-End 区间的代码,找出是本科生导师但不是硕士生导师的全部信息,包括id,name,sex
测试说明
测试过程:
-
本关涉及到的测试文件是 step3_test.sh ,平台将运行用户补全的 step3.sql 文件,得到数据;
-
将得到的数据与答案比较,判断代码是否正确。
-
USE test_wyy_db_guet GoSET NOCOUNT ON---------- 第一题 ---------- -- ********** Begin ********** --select name,sex from R union select name,sex from S;-- ********** End ********** --GO---------- 第二题 ---------- -- ********** Begin ********** --select * from R intersect select * from S ;-- ********** End ********** --GO select *from R except select * from S;---------- 第三题 ---------- -- ********** Begin ********** ---- ********** End ********** --GO