数据库-实验九-子查询-实验报告实验九报告 子查询
兰州大学数据库实验报告
实验目的
1. 掌握子查询的表示。
2. 进一步掌握SQL Server 查询分析器的使用方法,加深对SQL 语言的嵌套查询语句的理解
一. 实验准备
1. 掌握SQL语句的基本语法,并熟悉查询分析器的工作环境。
2. 完成了实验四,创建了数据库EDUC及各个基本表。
3. 了解子查询的表示方法,熟悉IN 比较符、ANY、EXISTS操作符的用法。
二. 实验要求
1. 在实验开始之前做好准备工作。
2. 完成实验,并验收实验结果提交实验报告。
三. 实验内容
1.在数据库EDUC...
实验九
子查询
兰州大学数据库实验报告
实验目的
1. 掌握子查询的
示。
2. 进一步掌握SQL Server 查询
器的使用方法,加深对SQL 语言的嵌套查询语句的理解
一. 实验准备
1. 掌握SQL语句的基本语法,并熟悉查询分析器的工作环境。
2. 完成了实验四,创建了数据库EDUC及各个基本表。
3. 了解子查询的表示方法,熟悉IN 比较符、ANY、EXISTS操作符的用法。
二. 实验要求
1. 在实验开始之前做好准备工作。
2. 完成实验,并验收实验结果提交实验报告。
三. 实验内容
1.在数据库EDUC中实现一下查询:
1)求选修了高等数学的学生学号和姓名;
SELECTsno,sname
FROMstudent
WHEREsnoIN(SELECTsno
FROMstudent_course
WHEREtcidIN(
SELECTtcid
FROMteacher_course
WHEREcnoIN(
SELECTcno
FROMcourse
WHEREcname='高等数学')));
1) 求C1 课程的成绩高于张三的学生学号和成绩;
SELECTsno,sname
FROMstudent
WHEREsnoIN(SELECTsno
FROMstudent_course
WHEREtcidIN(
SELECTtcid
FROMteacher_course
WHEREcno='C1')
ANDscore>(SELECTscore
FROMstudent_course
WHEREtcidIN(
SELECTtcid
FROMteacher_course
WHEREcno='C1')ANDsno=(SELECTsno
FROMstudent
WHEREsname='张三')));
2) 求其他系中比计算机系某一学生年龄小的学生信息(即求其它系中年龄小于计算机系年龄最大者的学生);
SELECTsname,sage
FROMstudent
WHEREsage
'Cs';
3) 求其他系中比计算机系学生年龄都小的学生信息;
SELECTsname,sage
FROMstudent
WHEREsage'Cs';
4) 求选修了C2 课程的学生姓名;
SELECTsname
FROMstudent
WHEREEXISTS(
SELECT*
FROMstudent_course
WHEREstudent.sno=snoANDtcid=(
SELECTtcid
FROMteacher_course
WHEREcno='C2'));
5) 求没有选修C2 课程的学生姓名;
SELECTsname
FROMstudent
WHERENOTEXISTS(
SELECT*
FROMstudent_course
WHEREstudent.sno=snoANDtcid=(
SELECTtcid
FROMteacher_course
WHEREcno='C2'));
6) 查询选修了全部课程的学生的姓名;
SELECTsname
FROMstudent
WHERENOTEXISTS(
SELECT*
FROMcourse
WHERENOTEXISTS(
SELECT*
FROMstudent_course
WHEREstudent.sno=student_course.sno
ANDcourse.cno=student_course.cno));
8) 求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。
SELECTsno,sname
FROMstudent
WHEREsnoin(
SELECTDISTINCTsno
FROMstudent_coursescx
WHERENOTEXISTS(
SELECT*
FROMstudent_coursescy
WHEREscy.sno='32012'ANDNOTEXISTS(
SELECT*
FROMstudent_coursescz
WHEREscz.sno=scx.snoANDscz.tcid=scy.tcid)));
2.提高操作实验
建立“工程-零件”数据库及如下4个表,并输入实验数据,用SQL语句实现如下三个查询:
1) 求供应项目j4红色零件的供应商号及名称
SELECT供应商代码,姓名
FROMS
WHERE供应商代码IN(
SELECT供应商代码
FROMSPJ
WHERE工程代码='J4'AND零件代码IN(
SELECT零件代码
FROMP
WHERE颜色='红色'));
2) 求没有上海供应商生成的零件的项目号
SELECTDISTINCT工程代码
FROMSPJspj1
WHERENOTEXISTS(SELECT*
FROMS,SPJspj2
WHERES.供应商代码=spj2.供应商代码ANDspj1.工程代码=spj2.工程代码AND所在城市='上海');
3)至少使用了供应商S5所供应全部零件的项目号。
SELECTDISTINCT工程代码
FROMSPJspj1
WHERENOTEXISTS(SELECT*
FROMSPJspj2
WHEREspj2.供应商代码='S5'ANDNOTEXISTS(
SELECT*
FROMSPJSPJ3
WHEREspj2.零件代码=spj3.零件代码ANDspj1.供应商代码=spj3.供应商代码));
本文档为【数据库-实验九-子查询-实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。