2022年oracle数据库题目 .pdf
Oralce数据库一、选择题1、在 SQL 的查询语句中,用于分组查询的语句是(C)。A)ORDER BYB)WHERE C)GROUP BY D)HAVING 2、在“学生情况.DBF”表中,查询计算机专业、助学金大于40 元的学生的姓名,正确的语句是(C)。A)SELECT 姓名FROM 学生情况WHERE 计算机.AND.助学金 40 C)SELECT 姓名FROM 学生情况WHERE 专业=“计算机”.AND.助学金 40 D)SELECT 姓名FROM 学生情况WHERE 专业=“计算机”.AND.助学金 40 3、下列 SQL 语句中,修改表结构的是(A)。A)ALTER B)CREATE C)DESC D)RENAME 4、已知职工表EMP 有工号 E_NO 和工资 E_SAL 两个字段。从职工关系中检索所有工资值,要求在输出结果中没有重复的工资值,则 SQL 的命令语句能实现上述功能的是(B)。A)SELECT ALL E_SALFROMEMPB)SELECT DISTINCT E_SALFROMEMP C)SELECT E_SALFROMEMPD)SELECT E_SALWHEREEMP 5、请选出属于DML 的选项(C)A)TRUNCATE B)CREAT C)DELETE D)DROP 6、视图存放在哪里(B)A数据库的表中B.数据字典的select语句中C from 列表的第一个表格的select 语句中D.列表的第二个表格的select 语句中7、当 fetch 执行失败时,哪种游标的属性值为true(C)A%isopen B.%found C.%notfound D.%rowcount 8、下列那些说法是正确的(B)A)一个事务中的某条SQL 命令提交时,其它SQL 命令可以不提交。B)在一个关系表中,主键可唯一标识一行记录。C)一个关系表中的外键必定是另一表中的主键。D)回滚可以在事务失败时,回到操作事务前的数据状态。9、假如一个变量的值为nuLL,有一条if 语句,if 变量=NULL 分支 1 else 分支 2 请问最终执行的结果是(B)A)分支 1 B)分支 2 C)系统错误提示D)都没有执行10、关于主键(primary key)和唯一索引(unique index)的说法哪些是错误的?(A)A、唯一索引的列允许为NULL 值B、主键的列不允许为NULL 值C、一个表只能有一个唯一索引11、教师信息表teacher包含以下字段:LAST_NAME VARCHAR2(25)FIRST_NAME VARCHAR2(25)EMAIL VARCHAR2(25)名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 4 页 -下面哪个语句可以显示无EMAIL地址的教师的姓名(C)SELECT last_name,fist_name from teacher where email=null SELECT last_name,first_name from teacher where emailnull SELECT last_name,first_name from teacher where email IS null SELECT last_name,first_name from teacher where email IS NOT NULL 12、在执行一个查询时哪个是正确的顺序?(C)A、解析、执行B、执行、解析、获取C、解析、执行、获取D、解析、获取13、如下语句if V_num5 then v_example:=1:elSif V_num10 then v_example:=2:elSif v_hum20 then v_example:=3:elsif v_num avg(age);(错误)3、BETWEEN AND运算符是否既可以用于数值表达式,又可以用于字符表达式?(正确)二、简答题:1、用 SQL 语句写出以下操作a、建一张数据表EMP(职工信息表),包含工号、姓名、性别、部门、年龄、工资等字段。Create table EMP(ID NUMBER,NAME VARCHAR2(20),SEX CHAR(4),DEPARTMENT VARCHAR2(20),AGE NUMBER,SALARY NUMBER(6,2);b、往该数据表中添加一条记录。INSERT INTO EMP VALUES(1,XIAOZHANG,男,销售部 ,23,1200.0);c、假设该表中存在3000 条员工的相关信息,要求显示所有年龄在20 到 30 岁之间的人员记录SELECT*FROM EMP WHERE AGE BETWEEN 20 AND 30;名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 4 页 -d、假设有一个销售部,请给出销售部门所有女职员的工资总数SELECT SUM(SALARY)FROM EMP WHERE DEPARTMENT=销 售 部 AND SEX=女;e、为了提高操作该表的性能,给表按年龄分区,20 以下分为youth,20 到 30 为mid1,30 到 40 为 mid2,40 到 60 为 old 2、什么是 DDL、什么是DML,请分别列举一些。DDL 是数据定义语言,建立、删除和修改数据对象。例如:CREATE,DROP,ALTER.DML 是数据操纵语言,完成数据操作的命令,包括查询。例如:SELECT,INSERT,UPDATE,DELETE 3、视图占空间吗?修改视图是否改变基表,为什么?定义:视图是查看数据表中的一种方法。(当一些用户需要经常访问和查询数据表中的某些字段构成的数据,但管理员从安全角度考虑又不希望他们直接接触数据表时,可以利用 Oracle 数据库提供的视图这一数据对象)。(视图不是数据表,它仅是一些SQL 查询语句的集合,作用是按照不同的要求从数据表中提取不同的数据。4、游标是什么,作用是什么,使用游标的步骤是什么写一个使用游标的例子定义:游标是为处理SQL 的 select 语句而分配的一大块内存。作用:步骤:(1)声明游标(2)打开游标(3)提取数据(4)关闭游标例子:declare cursor student_id is select student_id from studentinfo order by studentno;studenta studentinfo.student_id%type for each row begin open student_list;loop fetch student_list into studenta;dbms_output.put_line(student_id|studenta);exit when student_list%notfound;dbms_output.put_line(已经到文件尾!);end loop;close student_list;end;5、存储过程是什么,为什么比一般语句更快,写一个简单的存储过程。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 4 页 -定义:过程(procedure)是一个 PL/SQL 语句块,它存储在数据字典中并可被应用程序调用,可以使用过程存储数据库中频繁使用的应用逻辑。(使用存储过程的一个好处是能够实施数据的安全性)原因:因为存储过程是预编译的,所以比一般的语句更快。例子 1:create or replace procedure print_current_time as curtime varchar2(20);begin select to_char(sysdate,yyyy/mm/dd hh24:mi:ss)into curtime from dual;dbms_output.put_line(当前时间是:|chr(9)|curtime);end print_current_time;例子 2:create or replace procedure print_parameter(p_Parameter in varchar2 default null)as begin if(p_Parameter is null)then dbms_output.put_line(你没有输入参数);else dbms_output.put_line(你输入的参数是:|chr(9)|p_Parameter);end if;end print_parameter;名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -