实践指导书_多表查询与子查询

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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: []

相关文档
最新文档