实验目的:
1. 通过本实验能够掌握投影、选择条件表达、排序、分组的sql语句表达。
2. 通过本实验能够熟练应用sql语言进行查询,具体包括单表查询,多表连接查询。
实验要求:
1. 在进行本实验之前,应熟练课程内容,在上机之前做好实验计划,编写好相应的代码。
2. 认真填写实验报告,记录所有实验用例。
实验内容:
(一) 多表连接查询
1.查询每个选课学生的学生姓名、课程号和分数。(2表连接)
select sname,cno,grade from student,sc where student.sno=sc.sno;
SNAME CNO GRADE
-------- ----- -----
李佳 10
李佳 1 92
李佳 2 85
李佳 3 88
刘明 2 90
刘明 3 80
李佳 4 92
李佳 5 85
李佳 6 88
王添 2 90
王添 3 80
李佳 7 92
张力 4 92
王添 1 85
王添 4 88
刘明 1 90
刘明 5 80
17 rows selected
2.求学生的学号、姓名、选修课程的课程名及成绩。(3表连接)
select student.sno,sname,sc.cno,grade from student,sc,course wherestudent.sno=sc.sno and sc.cno=course.cno;
SNO SNAME CNO GRADE
--------- -------- ----- -----
20070001 李佳 10
20070002 刘明 1 90
20070003 王添 1 85
20070001 李佳 1 92
20070003 王添 2 90
20070002 刘明 2 90
20070001 李佳 2 85
20070003 王添 3 80
20070002 刘明 3 80
20070001 李佳 3 88
20070003 王添 4 88
20070005 张力 4 92
20070001 李佳 4 92
20070002 刘明 5 80
20070001 李佳 5 85
20070001 李佳 6 88
20070001 李佳 7 92
17 rows selected
3.求选修课程号为1或课程号为2的学生姓名和学号。//去重
select sname,student.sno from student,sc where student.sno=sc.sno andcno='1' or student.sno=sc.sno and cno='2';
SNAME SNO
-------- ---------
李佳 20070001
李佳 20070001
刘明 20070002