当前位置:首页 > 数据处理类试题
15. 角色 是具有名称的一组相关权限的组合。
16.连接到数据库的最低系统预定义角色是 CONNECT 。
17.在用户连接到数据库后可以查询数据字典 ROLE_SYS_PRIVS 了解用户所具有的系统权限。
18.当数据库在 非归档 模式中运行时,无法使用单个备份文件对数据库进行恢复。因为对模式数据库进行恢复时,必须使用所有的数据库文件备份,使数据库恢复后处于一致状态。
19.手动进行介质恢复时,按照数据库恢复后的运行状态不同,介质恢复为分为 完全数据库恢复 和 不完全数据库恢复 。 完全恢复 就是恢复所有已经提交的事务,即将数据库、表空间或数据文件的备份更新到最近的时间。 不完全恢复 使用数据库的备份来对数据库进行恢复,即将数据库恢复到某一特定的时刻。
20.使用EXPORT导出数据时,可以根据需要按3种不同的方式导出数据。 表 方式就是导出一个指定的基本表,包括表的定义、表中的数据,以及在表上建立的索引、约束等。 用户 方式是指到处属于一个拥护的所有对象,包括表、视图、存储过程、序列等。 整数据库 方式导出是指导出数据库中所有的对象。
21.使用RMAN进行目标数据库的备份时,可以使用 COPY 和 BACKUP 命令。 COPY 命令用于数据文件备份,可以将指定的数据库文件备份到磁盘或磁带。 BACKUP 命令是数据的备份,可以复制一个或多个表空间,以及整个数据库中的数据。
22. 数据库进行物理备份有两种方式可供选择:联机备份和 脱机备份 。 23.集合运算符 UNION 实现了集合的并运算,操作INTERSECT实现了对集合的交运算,而 MINUS 则实现了减运算。
24.如果只需要返回匹配的列,则应当使用 INNER JOIN 连接。
25.如果使用逗号分隔连接查看两个表,其中一表有20行,而另一表有50行,如果未使用WHERE子句,则将返回 1000 行。
26.外连接的三种类型是 LEFT JOIN 、 RIGHT JOIN 和 FULL JOIN 。
27. DISTINCT 关键字用来限定检索结果中只显示那些不冗余的数据,该关键字使用在SELECT子句中列的列表前面。
9
28.在order by子句中, ASC 关键字表示升序排列, DESC 关键字表示降序排列。
29.在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中,那么这种连接是 FULL JOIN 。
三、简答题
1.设有关系EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号、姓名、工资和所在部门号,以及关系DEPT(DNO,DNAME,MANAGER),其中各属性含义依次为部门号、部门名称、部门经理的职工号。 试用SQL语句完成以下查询:
(1)列出各部门中工资不低于600元的职工的平均工资。 (2)写出“查询001号职工所在部门名称”的查询语句。
(3)请用SQL语句将“销售部”的那些工资数额低于600的职工的工资上调10%。 解:
(1) SELECT AVG(SALARY) FROM EMP WHERE SALARY>=600
(2)SELECT B. DNAME FROM EMP A, DEPT B WHERE A. DNO=B. DNO AND A. ENO=’001’
(3)UPDATE A SET A. SALARY=A. SALARY*1.1
FROM EMP A, DEPT B WHERE A. DNO=B. DNO AND B. DNAME =’ 销售部’ AND A. SALARY<600
2.已知有学生关系S(SNO,SNAME,AGE,DNO),各属性含义依次为学号,姓名、年龄和所在系号;学生选课关系SC(SNO,CNO,SCORE),各属性含义依次为学号、课程号和成绩。 (1)分析以下SQL语句:
SELECT SNO FROM SC WHERE SCORE= (SELECT MAX(SCORE)FROM SC WHERE CNO=’002’) 请问上述语句完成了什么查询操作? (2)试用SQL语句完成如下查询: 按系号列出各系学生的平均成绩。 (3)试用SQL语句完成如下查询:
列出同时选修了001号和002号课程的学生的学号 解:
(1) 读取学生选课关系中成绩为课程号为002的最高成绩的学号。 (2)SELECT DNO,AVG(SCORE) FROM S A,SC B WHERE A.SNO=B.SNO GROUP BY DNO
10
(3)SELECT SNO FROM S WHERE S.NO IN(SELECT A.SNO FROM SC A,SC B
WHERE A.CNO=001 AND B.CNO=002 AND A.SNO=B.SNO)
3.已知3个表:工程技术人员表emp(sno,sname,sgrade),含义分别为技术人员代号、姓名和技术等级;项目表project(prjno,prjname,sgrade),含义分别为项目代号,项目名称,项目所需的技术等级;项目日报酬表pay(sno,prjno,daypay),含义分别为技术人员代号,项目代号,项目日报酬。要求技术人员只能参加低于其技术等级的项目。
(1)请查询出技术等级大于2的项目代号和项目名称,同时按项目等级降序排序。 (2)请查询出工程技术人员姓名为“张三”,项目代号为“A001”的项目日报酬。 (3)请查询出可以参加编号为“A001”的项目的工程技术人员代号和姓名。
(4)请查询出姓名为“张三”的工程技术人员可以参加的项目代号和项目名称。 解:
(1)SELECT prjno,prjname FROM project WHERE sgrade>2 ORDER BY prjname DESC
(2)SELECT daypay FROM emp A, pay B WHERE A. sno=B. sno AND sname=’ 张三’ AND prjno=’ A001’
(3)SELECT sno,sname FROM emp A, pay B WHERE A. sno=B. sno AND prjno=’ A001’
(4)SELECT C.prjno,prjname FROM emp A, pay B, project C WHERE A. sno=B. sno AND B. prjno=C. prjno AND sname=’ 张三’
4.已知一个员工表TBEmp,包含以下字段 列名称 id name sex birthday memo 数据类型 varchar2(10) varchar2(2) varchar2(10) date varchar2(100) 备注 代表员工号码,主键 代表员工名字,非空 代表员工性别 代表出生日期 代表员工备注 (1)创建员工表TBEmp
(2)增加一个字段salary,类型 number (3)删除表的memo字段
(4)把name字段长度改为100
(5) 插入以下数据(‘001’,‘陈四’,‘男’,‘1980-10-20’,NULL) (6)查询有工资的员工信息
(7)查询名字中没有ac的员工姓名和出生日期 (8)查询工资在900到2300之间的员工信息 (9)查询女员工个数(性别为female的) (10)查询拿最高工资的员工信息
(11)按照员工年龄由高到低来排序,显示员工号码、姓名、出生日期(使用to_char函数,日期按照年/月/日时:分显示) to_char(birthday,’yyyy/mm/dd hh:mi:ss’)
11
(12)将Jack的出生日期修改为1977-2-1,工资增加200元 (13)更新表格,在所有员工的号码后面加上‘emp’ (14)删除号码是e001和e002和e003的员工
(15)将员工的id和姓名连接起来使用别名newname来显示(语法select … as …from ..) (16)取出员工姓名的前三个字符、第三个字符、姓名长度 (17)使用create table… as …来创建tbemp的备份表格tbemp2 (18)使用两种方式删除所有员工 (19)删除TBEmp表格 解:(1)create table TBEmp
( id varchar2(10) not null PRIMARY KEY, name varchar2(2) not null, sex varchar2(10), birthday date,
memo varchar2(100));
comment on column TBEmp.id is 员工号''; comment on column TBEmp.name is '员工名称'; comment on column TBEmp.sex is '员工性别';
comment on column TBEmp.birthday is '出生日期'; comment on column TBEmp.memo is '员工备注'; (2)alter table TBEmp add SALARY number; (3)alter table TBEmp drop column memo;
(4)alter table TBEmp modify name varchar2(100); (5)INSERT INTO TBEmp(id,name,sex, birthday) VALUES(‘001’,‘陈四’,‘男’,‘1980-10-20’)
(6)SELECT * FROM TBEmp WHERE SALARY IS NOT NULL (7)SELECT name, birthday FROM TBEmp WHERE name NOT IN (SELECT name FROM TBEmp WHERE NAME LIKE ‘?%’)
(8)SELECT * FROM TBEmp WHERE SALARY BETWEEN 900 AND 2300 (9)SELECT COUNT(1) FROM TBEmp WHRE sex =’ female’
(10)SELECT * FROM TBEmp WHRE ID IN (SELECT ID FROM TBEmp WHERE SALARY =(SELECT MAX(SALARY) FROM TBEmp)) (11)SELECT id,name, birthday FROM TBEmp ORDER BY to_char(birthday,’yyyy/mm/dd hh:mi:ss’) DESC
(12)UPDATE TBEmp SET birthday=’ 1977-2-1’, SALARY= SALARY+200 WHERE name=’ Jack’
(13)UPDATE TBEmp SET id=id+’emp’
(14)DELETE TBEmp WHERE id IN (‘e001’,’e002’,’e003’) (15)SELECT id+name AS newname FROM TBEmp
(16)SELECT SUBSTR(name,1,3),SUBSTR(name,3,1),LEN(name) FROM TBEmp
12
共分享92篇相关文档