实践指导书_多表查询与子查询
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验题目:多表查询与子查询
二、实验目的:
掌握如何进行多表查询与子查询
三、实验步骤:
附加XSCJ数据库,改名为XSCJ学号姓名,完成以下习题后把习题语句保存为学号姓名.sql 文件并上传至教师机指定共享文件夹
连接习题:
--1、查找XSCJ数据库每个学生的情况以及选修的课程情况。
--2、查询xscj数据库中学号,姓名,课程号,成绩
--3、查询xscj数据库中学号,姓名,课程名,成绩
--4、查询xscj数据库中选修了计算机基础课程同学的学号,姓名,成绩
--5、查询xscj数据库中程明选修的课程名,成绩
--6、查询班级表中学制相同的班级编号
一、连接
1.什么是连接
连接是两元运算,可以两个或多个表进行查询,其结果通常是含有参加连接运算的两个表(或多个表)的指定列的表。
在实际应用中,多数情况下,用户查询的列都来自于多个表。
涉及多个表的查询被称为连接查询。
2.连接表现形式
在T-sql语言中连接查询有两大类表示形式
1)符合sql标准连接谓词表示形式。
2)T-sql扩展的使用关键字join的表示形式。
3.连接分类
内连接表名1 join 表名2 on 条件
外连接左连接left join ,右连接right join,全连接full join
自连接
谓词连接:where 条件(两个表中的字段条件)
4.建立连接的步骤
1)要连接哪几个表
2)以什么条件连接——关系:主键、外键,等值
3)查询记录的条件
4)要查询什么信息
如:查询studentscore数据库中学生信息表和学生成绩表的全部信息
附加studentscore数据库
Select
From
Where
子查询习题:
--1、在XSCJ数据库中,要查找选修了课程号为101的课程的学生的情况。
--2、查找选修了计算机基础课的学生的情况
--查找未选修离散数学的学生的情况。
--3、查找比所有计算机系的学生年龄都大的学生。
--查找所有比所有男生都小的学生的情况。(注意出生时间与年龄的关系!反比!)
--4、查找课程号201的成绩不低于课程号101的最低成绩的学生的学号。
--查找计算机系男生年龄不小于通讯工程系女生最低年龄的学生情况
--5、查找选修201号课程的学生姓名。
--查找未选修201号课程的学生情况。
--6、查找选修206号课程的学生姓名
select 姓名from xs where exists
(select * from xs_kc where 课程号='101' and 姓名=xs.姓名)
--查找选修了全部课程的同学的姓名(即查找没有一门功课不选修的学生。)
SELECT 姓名FROM XS WHERE NOT EXISTS
(SELECT * FROM KC WHERE NOT EXISTS
(SELECT * FROM XS_KC WHERE 学号=XS.学号AND 课程号=KC.课程号))
二、子查询
子查询通常与IN、EXIST谓词及比较运算符结合使用。
1.IN子查询
IN子查询用于进行一个给定值是否在子查询结果集中的判断,格式为:
Expression [NOT] IN (subquery)
其中subquery是子查询。
2.比较子查询
这种子查询可以认为是IN子查询的扩展,它使表达式的值与子查询的结果进行比较运算,格式为:
expression { < | <= | = | > | >= | != | <> | !< | !> } { ALL | SOME | ANY } ( subquery )
ALL:指定表达式要与子查询结果集中的每个值都进行比较.当表达式与每个值都满足比较关系时,才返回true,否则返回false.
some 或any :表示表达式只要与子查询结果集中的某个值满足比较关系时,就返回true,否则
边做上面习题,边写实习报告,将上边黑色字迹以及相关习题,写在报告本上,尤其是需要记忆的希望大家做好记录!
四、实验过程中存在的问题:
不要空着这一项,记录实习中存在的问题以及是否解决。有利于老师信息的反馈。
不要写“无”。
五、实验效果与体会:
记录是否掌握学习内容,以及学习兴趣等,或者学习感受,学习心得。也不要空着。
附: 单词本:
1、major
KK: []
DJ: []
a.
1. 较大的;较多的
The house needs major repairs. 这幢房子需要大修。
2. 主要的,重要的;一流的[B] He is a major writer. 他是位大作家。
3. 主修的[B]
Her major subject is chemistry. 她的主修科是化学。
4. 成年的,达到法定年龄的
5. 【音】大调的,大音阶的
6. 【逻】大前提的 n.[C]
1. 成年人,已到法定年龄者
2. (常大写)陆军(或空军,海军陆战队)少校
3. (大学中的)主修科目
4. (大学专业的)主修学生 Physics was his major. 物理是他的主修科目。
5. 【音】大调,大音阶
He is a mathematics major. 他是主修数学的学生。 6. 【逻】大前提
7. 主要公司(组织、企业...等)
MGM, Paramount, and Columbia are all majors in film industry. 米高梅、派拉蒙和哥伦比亚都是电影业的大公司。 vi.
1. 主修[(+in)]
Alice majors in economics. 艾丽丝主修经济学。
column KK: [] DJ: []