- 任务描述
- join操作符
- 编程要求
- 测试说明
任务描述
本关任务:
- 使用join操作符实现多表查询。
join操作符
1.笛卡尔积,RXS
可直接转换为SQL语句
2.等值连接,记作
可直接转换为SQL语句
3.自然连接,记作
可转换为SQL语句
4.左外连接和右外连接的表示方法及转换为SQL
注意若多个关系有同名属性,则用 关系名.属性名 指出重名属性
连接也可以与投影,选择等结合使用。
编程要求
- 1.补全右侧代码片段中 第一题 下 Begin-End 区间的代码,查询选修了‘2’号课程的学生的学号;
- 2.补全右侧代码片段中 第二题 下 Begin-End 区间的代码,查询Liyong选修的课程成绩。
- 3.补全右侧代码片段中 第三题 下 Begin-End 区间的代码,查询选修课程名称Math的学生学号。
使用的表结构: Student(Sno, Sname, Ssex, Sage, Sdept) Course(Cno, Cname,Ccredit) SC(Sno, Cno, Grade)
测试说明
测试过程:
-
本关涉及到的测试文件是 step2_test.sh ,平台将运行用户补全的 step2.sql 文件,得到数据;
-
将得到的数据与答案比较,判断代码是否正确。
-
USE test_wyy_db_guet Go SET NOCOUNT ON -- ********** Begin ********** -- ---------- 第一题---------- select sno from sc where cno='2'; -- ********** End ********** -- GO -- ********** Begin ********** -- ---------- 第二题---------- select grade from sc join student on student.sno=sc.sno where sname='LiYong'; -- ********** End ********** -- GO -- ********** Begin ********** -- ---------- 第三题---------- select distinct sc.sno from sc join course on course.cno=sc.cno and cname='Math'; -- ********** End ********** -- GO