您的当前位置:首页正文

实验三:SQL Serve中的连接查询

2023-03-22 来源:易榕旅网


实验三:SQL Serve中的连接查询

一、 实验目的:

1. 掌握采用Transact-SQL实现连接查询的方法。 2. 掌握等值连接(自然连接)、自身连接、外连接和复合条件连接的查询方法。

二、 实验内容:

按照《数据库系统概论》P82页中的学生课程数据库和P75页中的SPJ数据库完成以下查询

1. 查询使用上海供应的零件的工程名称。

select jname from j where jno in (select jno from spj where sno=(select sno from s where city='上海'));

2. 查询每个工程的信息及相应的供应信息(包括列出尚未被供应零件的那些工程)。

select j.jno,jname,city,sno,pno,qty from j left outer join spj on j.jno = spj.jno;

查询结果形如下:

jno jname city sno pno qty

---- -------- ---- ---- ---- ------ j1 三建 北京 s1 p1 200 j1 三建 北京 s2 p3 400 ……

j4 造船厂 天津 s5 p6 500 j5 机车厂 唐山 s2 p3 400 j6 无线电厂 常州 NULL NULL NULL j7 半导体厂 南京 NULL NULL NULL

3. 查询供应工程J1蓝色零件的供应商号SNO,请用两种方法实现。

select distinct sno from spj where pno in (select pno from p where color = '蓝' ) and jno = 'j1';

select distinct sno from p,spj where p.pno = spj.pno and spj.jno = 'j1' and p.color='蓝';

4. 查询选修2号课程且成绩在85分以上的(含85分)所有学生。

select * from sc,student where sc.sno = student.sno and grade >= 85 and sc.cno = '2';

5. 查询先行课的学分为4的课程信息。

select a.cno 课程编号,a.cname 课程名称,a.ccredit 课程学分,a.cpno 先行课,b.cname 先行课名称, b.ccredit 先行课学分from course a, course b where a.cpno = b.cno and b.ccredit = 4;

6. 查询课程名称与其间接先行课的名称。

select a.cname 课程名,b.cname 直接先行课程名,c.cname 间接先行课程名from (course a left outer join course b on a.cpno = b.cno) left outer join course c on c.cno = b.cpno;

7. 查询其他系中比计算机科学系所有学生年龄都小的学生完整信息,用两种方法实现。

select * from student where sage < all(select sage from student where

sdept = 'cs')and sdept <>'cs';

select * from student where sage < (select min(sage) from student where sdept = 'cs') and sdept <>'cs';

8. 查询其他系中比计算机科学系某一学生年龄大的学生姓名与年龄,用两种方法实现。

select sname 姓名,sage 年龄from student where sage > any(select sage from student where sdept = 'cs');

select sname 姓名,sage 年龄from student where exists (select * from student a where a.sage'cs';

三、 实验要求:

1. 写出正确的Transact-SQL命令。

2. 无须记录正确的查询结果。但要求记录实验过程中发生的有学习意义的错误及错误信

息。

四、 实验报告

根据以上实验内容的要求认真填写实验报告,记录所有的实现方法和运行结果,并记录实验过程中遇到的困难和解决问题的方法。

《数据库系统原理及应用》实验_3__报告 实验题目: 班级 实验环境: 实验内容与完成情况(记录所有的实验过程): 出现的问题: 姓名 日期

解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题):

因篇幅问题不能全部显示,请点此查看更多更全内容