2. 当前时间这个月的最后一天的函数是_____________,获取字符串变量长度的函数是
_____________。
3. 函数replace(‘1234512345’,’4’,’’)的返回结果是__________,函数substr
(‘ABCDEFGIH’,3,5)的返回结果是__________。
4. 在Oracle 的语句中,用_____关键字实现降序。用_____关键字实现取消重复行。。 5. sql 命令语言可分为四类,分别是:数据定义语言、_____________ 语言、 _____________ 语
言、_____________ 语言。
6. 函数replace(‘2634512326’,’4’,’’)的返回结果是__________,函数substr
(‘ABCZEFGIH’,2,3)的返回结果是__________。
7. 获取字符串变量长度的函数是_____________,函数last_day的作用是 _____________。 8. 相等连接——JOIN方法有哪三种:NATURAL JOIN,_____________,_____________。
四、 简答题(共13 分)
1. 简述 oracle 中常用约束,并说明作用。 (5 分)
2. 简述oracle数据库中,CLOB、BLOB、BFILE的区别?(3 分) 3. 外连接有哪三种?简述三种外连接的用法有什么不同(5 分) 4. 简述oracle数据库中char和warchar2的区别。(3 分)
五、
程序题(每小题4 分,共32 分)
执行以下SQL 语句创建students, courses, enrollment 三个表,并插入测试数据。 CREATE TABLE students (
sno CHAR (10) PRIMARY KEY, sname CHAR (8) NOT NULL,
ssex CHAR (1) NOT NULL CHECK (ssex = 'F' OR ssex = 'M'), sage INT NULL, sdept CHAR (20 ) DEFAULT 'Computer' );
CREATE TABLE courses (
cno CHAR (6) PRIMARY KEY, cname CHAR (20) NOT NULL, precno CHAR (6) , credits INT
第 5 页 共 7 页
);
CREATE TABLE enrollment (
sno CHAR(10) NOT NULL, cno CHAR(6) NOT NULL, grade INT,
CONSTRAINT EPK PRIMARY KEY (sno, cno),
CONSTRAINT ESlink FOREIGN KEY (sno) REFERENCES students (sno), CONSTRAINT EClink FOREIGN KEY (cno) REFERENCES courses (cno) );
INSERT INTO students VALUES ('20010101', 'Jone', 'M', 19, 'Computer '); INSERT INTO students VALUES ('20010102', 'Sue', 'F', 20, 'Computer '); INSERT INTO students VALUES ('20010103', 'Smith', 'M', 19, 'Math'); INSERT INTO students VALUES ('20030101', 'Allen', 'M', 18, 'Automation'); INSERT INTO students VALUES ('20030102', 'Deepa', 'F', 21, 'Art'); INSERT INTO courses VALUES ('c1', 'English', '', 4); INSERT INTO courses VALUES ('c2', 'Math', 'c5',2); INSERT INTO courses VALUES ('c3', 'Database','c2',2); INSERT INTO enrollment VALUES ('20010101','c1',90); INSERT INTO enrollment VALUES ('20010102','c1',88); INSERT INTO enrollment VALUES ('20010102','c2',94); INSERT INTO enrollment VALUES ('20010102','c3',62); 利用以上三个表,编写SQL 语句完成以下简单查询练习: 1. 查询全体学生的学号、姓名、性别、年龄、所在系。 2. 显示所有选课学生的学号,并去掉重复行。
3. 查询学生选课成绩在80~90 分之间的学生学号、课程号、成绩。 4. 查询选修了所有课的学生名。
5. 查找姓名以S 开头的所有学生的学号、姓名,查询结果按学号降序排列。 6. 查询选修了课程的每个学生的学号、姓名、选修的课程名、成绩。 7. 查询与Sue 在同一个系学习的所有学生的学号和姓名。
8. 创建一个视图,从该视图可以查询选修了课程的每个学生的学号、姓名、选修的课程名、成绩。 9. 求选修了c1 课程的学生的平均成绩。 10. 显示所有选课学生的学号,并去掉重复行。
第 6 页 共 7 页
11. 查询计算机系年龄在18 岁以上的学生学号、姓名。
第 7 页 共 7 页

