文档库 最新最全的文档下载
当前位置:文档库 › 实验五 数据查询

实验五 数据查询

实验五数据查询

一、实验目的

(1)掌握SELECT语句的语法

(2)掌握基于单表的查询方法

(3)掌握基于多表的查询方法

(4)掌握相关与不相关的嵌套查询

(5)掌握使用UNION的集合查询

二、实验环境

WINDOWS 7+SQL SERVER 2005

三、实验准备

1.以最便捷的方式在EDUC数据库中新建3张表,各表的结构如下所示:

2.利用企业管理器向表中插入记录

STUDENT的内容

COURSE的内容

SC的内容

四、实验内容

1.查询全体学生的学号和姓名

2.查询全体学生的详细记录

3.查询CS学院的学生姓名、年龄、系别

4.查询所有选修过课程的学生学号

5.查询考试不及格的学生学号

6.查询不是CS学院的学生姓名、年龄、系别(三种方法实现)

7.查询年龄在18-20岁的学生学号、姓名、系别、年龄

8.查询姓刘的学生情况

9.查询姓刘或姓李的学生情况(注意不同的写法)

10.查询姓刘且名字为两个字的学生情况

11.查询1995年以后出生的学生姓名

12.利用内部函数year()查找CS学院学生的出生年份

13.查询全体学生情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列。

14.查询学生总人数

15.查询选修了课程的学生人数(两种方法实现)

16.查询选修了2号课程的学生总人数和平均成绩

17.查询选修2号课程学生的最好成绩

18.查询每个系的系名及学生人数

19.查找每门课的选修人数及平均成绩

20.查找没有选修课的课程情况

五、提高实验

1.查询每个学生及其选课情况(等值连接和右连接)

2.查询每门课的间接选修课

3.查询既选修了2号课程又选修了3号课程的学生姓名、学号

4.查询和刘晨同一年龄的学生

5.查询选修了课程名为“数据库”的学生姓名和年龄(相关子查询和不相关子查询)

6.查询其他系中比IS系任一学生年龄小的学生名单(两种解法)

7.查询其他系中比IS系所有学生年龄都小的学生名单(两种解法)

8.查询选修了全部课程的学生姓名(相关子查询和不相关子查询)

9.查询计算机系学生及其性别是男的学生

10.查询张立同学不学的课程的课程号

11.查询选修了3号课程的学生平均年龄

12.求每门课程学生的平均成绩

13.统计每门课程的学生选修人数(超过1人的才统计)。要求输出课程号和选修人数,结果按人数降序排列,若人数相同,按课程号升序排列

select student.*,sc.*

from student,sc

where student.sno=sc.sno;

select student.*,sc.*

from student left outer join sc on(student.sno=sc.sno);

select s1.sno,s1.sname,s1.sdept

from student s1, student s2

where s1.sdept=s2.sdept

select sname,student.sno

from student,sc s1,sc s2

where s1.sno=s2.sno and https://www.wendangku.net/doc/4a2440065.html,o='2'and https://www.wendangku.net/doc/4a2440065.html,o='3'

and s1.sno=student.sno and s2.sno=student.sno

select sno,sname,sage

from student

where sage in(select sage

from student

where sname like'刘晨')

select sname,sage

from student,course

where cno in(select cno

from course

where cname='数据库')

select sname,sage

from student

where exists

(

select*

from sc

where exists(select*

from course

where sc.sno=student.sno and cname='数据库'and https://www.wendangku.net/doc/4a2440065.html,o=https://www.wendangku.net/doc/4a2440065.html,o));

相关文档