MySQL查询实验报告_实验五 数据库的查询 实验报告.doc

实验五 数据库的查询 实验报告

实验5 数据库的查询(二)

一.实验名称:数据库的查询(二)

二.目的和要求:

(1)掌握连接查询的表示方法。

(2)掌握子查询的表示方法。

三.实验准备

(1)了解连接查询的表示方法。

(2)了解子查询的表示方法。

四。实验时间:2011年4月14日

五。实验设备和实验环境:

(1) PC机。

(2) SQL Server 2000。

六.实验内容:

1.连接查询的使用

(1)查询选修2号课程且成绩为90分以上的学生学号、姓名、系别及成绩。在查询分析器的编辑窗口输人如下的语句并执行:

SELECT Student.sno,sname,Sdept,grade

FROM Student ,Sc

WHEREE Student.sno =Sc.sno

And Sc.Cno=’2’ and Sc.Grade>90

思考与练习:查询成绩在80~90分之间的学生学号、姓名、课程名及成绩。

在查询分析器的编辑窗口输人如下的语句并执行:

select student.sno,sname,course.cname,sc.grade

from student,sc,course

where student.sno=sc.sno

and sc.cno=course.cno

and sc.grade between 80 and 90;

(2)查找每一门课程的间接先行课程(即先行课的先行课)。在查询分析器的编辑窗口输入如下语句并执行:

SELECT First.Cno, Second.Cpno

FROM Course First , Course Second.

WHEREE First.Cpno = Second.Cno

思考与练习:查询没有选修课程及其成绩的学生详情。

2.子查询的使用

(1)查找学习成绩不及格的学生的情况。在查询分析器的编辑窗口输人如下语句并执行:

SELECT*

FROM Student

WHERE Sno In

(SELECT Sno

FROM Sc

WHERE Grade<60)

思考与练习:用子查询的方法查找所有成绩在90分以上的学生的情况。

select *

from student

where sno in

(select sno

from sc

where grade>90);

(2)查找数学系年龄不低于信息系年龄的学生的姓名。在查询分析器的编辑窗口输入如下语句并执行:

SELECT Sname

FROM Student

WHERE Sdept=’MA’

AND

Sage>=ALL(SELECT Sage

FROM Student

WHERE Sdept=’IS’)

思考与练习:求数据库课程成绩比任一个信息系学生成绩都高的数学系学生的姓名。

(3)查找选修了课程名为“数据库系统”的学生学号和姓名。在查询分析器的编辑窗口输人如下的语句并执行:

SELECT Sno,Sname

FROM Student

WHERE Sno In

( SELECT Sno

FROM Sc

WHERE Cno =

Select Cno

From Course

WHERE Cname= ’数据库系统’))

思考与练习:用连接查询的方法完成上题。

select student.sno,sname

from student,sc,course

where student.sno=sc.sno

and sc.cno=course.cno

and cname='数据库';

(4)查找选修了2号课程的学生清单。在查询分析器的编辑窗口输人如下的语句并执行:

SELECT *

FROM Student

WHERE Exists

( SELECT *

FROM Sc

WHERE Sc.Sno=Student.Sno And Sc.Cno=’2’)

思考与练习:查找选修了2号课程的学生学号、姓名、课程名及成绩。

SELE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值