数据库系统实验二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库系统实验二
实验题目实验二查询数据库
一、实验目的
熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询
1、掌握基本的SELECT查询及其相关子句的使用;
2、掌握复杂的SELECT查询,如多表查询、子查询、连接查询和嵌套查询。
二、实验内容和要求
使用SQL查询分析器查询数据,练习查询语句的使用,掌握SELECT 语句的完整结构,包括简单查询、嵌套查询、连接查询等基本实现方法,掌握存储查询结果的方法,体会各种查询的异同及相互之间的转换,体会各种查询的执行过程,为简单综合应用打下良好的基础。
三、实验主要仪器设备和材料
1.计算机及操作系统:PC机,Windows 2000/xp;
2.数据库管理系统:SQL sever 2000/2003/2005;
四、实验方法、步骤及结果测试
要求用SELECT完成以下查询,
1、对实验一建立的数据库表进行查询
简单查询:
(1)、查询全部学生的学号、姓名、性别和出身年月日。
查询分析器执行情况:
查询结果截图显示
SQL语句及执行结果显示
SELECT s_no,sname,sex,sbirthday
FROM student_3113006393
(2)、查询全体学生的学号、姓名和年龄
实现代码及查询结果截图:
SELECT s_no,sname,2015-YEAR(sbirthday)
FROM student_3113006393
(3)、查询院系编号为‘510000’(计算机学院)的全部学生的学号、姓名、性别和出身年月日。
实现代码及查询结果截图:
SELECT s_no,sname,sex,sbirthday
FROM student_3113006393
WHERE dno='510000'
(4)、查询“计算机科学与技术”专业(专业代码为‘******’)并且班级代码为‘0307’的学生的学号、姓名和出生日期。
实现代码及查询结果截图:
SELECT s_no,sname,sbirthday
FROM student_3113006393
WHERE spno='080605' AND class_no='0307'
(5)、查询在‘1983/01/10’以后出生的计算机学院(院系编号为‘******’)学生的学号、姓名、性别和出身年月日。
实现代码及查询结果截图:
SELECT s_no,sname,sex,sbirthday
FROM student_3113006393
WHERE sbirthday >=1983/01/10
(6)、查询全部学生的学号、姓名、性别和出身日期结果按照出生日期的升序排列。
实现代码及查询结果截图:
SELECT s_no,sname,sex,sbirthday
FROM student_3113006393
ORDER BY sbirthday ASC
连接查询:
(1)、查询全部学生的学号、姓名、性别、所在院系名称和专业名称
实现代码及查询结果截图:
SELECT s_no,sname,sex,dept_name,spname
FROM
student_3113006393,department_3113006393,speciality_31130 06393 WHERE student_3113006393.dno = department_3113006393.dno and student_3113006393.spno = speciality_3113006393.spno
(2)、查询选修了课程2(上课编号)的学生的学号、姓名、专业名称和这门课的成绩实现代码及查询结果截图:
SELECT student_3113006393.s_no,sname,spname,score
FROM
student_3113006393,speciality_3113006393,student_course_311 3006393 WHERE student_course_3113006393.tcid = '2'
and student_3113006393.spno = speciality_3113006393.spno
and student_3113006393.s_no = student_course_3113006393.s_no
(3)、查询学生不及格的情况列出不及格学生的学号、姓名和不及格的课程名称。
实现代码及查询结果截图:
SELECT student_3113006393.s_no,sname,cname
FROM
student_3113006393,student_course_3113006393,Course_31130 06393,teacher_course_3113006393 WHERE student_course_3113006393.score < 60
and student_3113006393.s_no = student_course_3113006393.s_no
and student_course_3113006393.tcid = teacher_course_3113006393.tcid
and teacher_course_o = Course_o
嵌套查询:
(1)、查询没有选修了课程1的学生,列出学生的学号和姓名。
实现代码及查询结果截图:
SELECT s_no,sname
FROM student_3113006393
WHERE s_no IN
(SELECT s_no
FROM student_course_3113006393
WHERE tcid != '1')
(2)、查询每门课都是80分以上的学生的学号与姓名。实现代码及查询结果截图:
SELECT s_no,sname
FROM student_3113006393
WHERE EXISTS
(SELECT *