- 4
- 0
- 约9.63千字
- 约 8页
- 2017-02-09 发布于江苏
- 举报
数据库实习答案供参习
数据库实习答案
1、E-R图向关系模式的转化。
最终答案:
职工(职工号,姓名,性别,工资,职称,简历,部门号);
部门(部门号,名称,地址,领导人职工号);
工程(工程号,工程名,参加人数,预算,部门号,负责人职工号);
办公室(编号,地点,电话,部门号);
参加(职工号,工程号,日期,具体职务);
(红色部分为主键,绿色部分为外键)。
2、SQL查询语句练习。
/******************************************************
* 实验3 数据库的简单查询实验答案
******************************************************/
【例3.1】查询全体学生的学号与姓名
SELECT Sno,Sname FROM Students
【例3.2】查询全体学生的学号、姓名、性别、年龄、所在系。
SELECT Sno,Sname,Sname Ssex,Sage,Sdept FROM Students
【例3.3】查询全体学生的选课情况,即学号、课程号、成绩,成绩值都加5
SELECT Sno,Cno,Grade+5 FROM Enrollment
【例3.4】查询全体学生的学号、姓名,并为原来的英文列名设置中文列别名。以下三种方法等价。
SELECT Sno 学号 , Sname 姓名 FROM Students
SELECT Sno AS 学号 ,Sname AS 姓名 FROM Students
SELECT 学号=Sno , 姓名=Sname FROM Students
【例3.5】查询全体学生的选课情况,其成绩列值都加5,并为各列设置中文的别名
SELECT Sno 学号,Cno 课程号,Grade+5 成绩 FROM Enrollment
【例3.6】显示所有选课学生的学号。
SELECT Sno 学号 FROM Enrollment
等价于:
SELECT ALL Sno 学号 FROM Enrollment
【例3.7】显示所有选课学生的学号,并去掉重复行。
SELECT DISTINCT Sno 学号 FROM Enrollment
【例3.8】查询学生选课成绩大于80分的学生学号、课程号、成绩。
SELECT * FROM Enrollment WHERE Grade80
【例3.9】查询数学系全体学生的学号、姓名。
SELECT Sno ,Sname FROM Students WHERE Sdept=Math
【例3.10】查询学生选课成绩在80~90分之间的学生学号、课程号、成绩。
SELECT * FROM Enrollment WHERE Grade BETWEEN 80 AND 90
等价于:
SELECT * FROM Enrollment WHERE Grade = 80 AND Grade =90
【例3.11】查询学生年龄不在20~30之间的学生学号、姓名、所在系。
SELECT Sno ,Sname,Sdept FROM Students WHERE Sage NOT BETWEEN 20 AND 30
等价于:
SELECT Sno ,Sname,Sdept FROM Students WHERE Sage20 OR Sage30
【例3.12】查询数学系、计算机系、艺术系学生的学号、姓名。
SELECT Sno,Sname FROM Students
WHERE Sdept IN (Math, Computer, Art)
等价于:
SELECT Sno,Sname FROM Students
WHERE Sdept =Math OR Sdept = Computer OR Sdept = Art
【例3.13】查询既不是数学系、计算机系,也不是艺术系学生的学号、姓名。
SELECT Sno,Sname FROM Students
WHERE Sdept NOT IN (Math, Computer, Art)
等价于:
SELECT Sno,Sname FROM Students
WHERE Sdept! =Math AND Sdept! = Computer AND Sdept! = Art
【例3.14】查找姓名的第二个字符是u并且只有三个字符的学生的学号、姓名。
SELECT Sno,Sname FROM Students WHERE Sname LIKE _u_
【例3.15】查找姓名以S开头的所有学生的学号、姓名。
SELECT Sno,Sname FROM Students WHERE Sname LIKE
原创力文档

文档评论(0)