第二章 数据库操作
选择:
1、你需要修改 STUDENTS 表在STUDENT_ID列上增加一个PK约束,当前此表为空表,下面语句正确的是?
A. ALTER TABLE students ADD PRIMARY KEY student_id;
B. ALTER TABLE students ADD CONSTRAINT PRIMARY KEY (student_id);
C. ALTER TABLE students ADD CONSTRAINT stud_id_pk PRIMARY KEY student_id;
D. ALTER TABLE students ADD CONSTRAINT stud_id_pk PRIMARY KEY (student_id);
正确答案是: D 你选择的答案是:未选 判题结果:×
2、下列哪类命令在未提交前可以通过ROLLBACK命令进行回退( )
A. DCL
B. DDL
C. DML
D. DQL
正确答案是: C 你选择的答案是:未选 判题结果:×
3、评估SQL语句:
SELECT ROUND(45.953, -1) FROM dual;
该语句的显示结果?
A. 46 B. 45.93
C. 50 D. 45.9
正确答案是: C 你选择的答案是:未选 判题结果:×
4、( )函数通常用来计算累计排名、移动平均数和报表聚合等。
A.汇总 B.分析 C.分组 D.单行
正确答案是: A 你选择的答案是:未选 判题结果:×
5、( )SQL语句将为计算列SAL*12生成别名Annual Salary
A.SELECT ename,sal*12 ‘Annual Salary’ FROM emp;
B.SELECT ename,sal*12 “Annual Salary” FROM emp;
C.SELECT ename,sal*12 AS Annual Salary FROM emp;
D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp;
正确答案是: A 你选择的答案是:未选 判题结果:×
6、分析以下的SQL命令:
SELECT 图书.书号,图书.书名,借阅.读者号 FROM 借阅 RIGHT JOIN 图书 ON 图书.书号=借阅.书号
如下描述正确的是( )。
A 将没借书的读者信息也查出来 B 只查出被借走的图书信息
C 将没被借走的图书信息也查出来 D 只查出被借走图书的书号和书名
正确答案是: C 你选择的答案是:未选 判题结果:×
7、评估SQL语句:SELECT ename, sal, 12*sal+100 FROM emp;
Sal 列存储的是月薪,现在要求查询语句能够显示 每月增加100元补贴后的年薪,上面的语句如何更改?
A. 不需要做任何修改
B. SELECT ename, sal, 12*(sal+100) FROM emp;
C. SELECT ename, sal, (12*sal)+100 FROM emp;
D. SELECT ename, sal+100,*12 FROM emp;
正确答案是: B 你选择的答案是:未选 判题结果:×
8、用于显示表结构的命令是什么?
A. DESC B. HOST C. SELECT D. DIR
正确答案是: A 你选择的答案是:未选 判题结果:×
9、下列SELECT语句用于查询表中email列为空值的行,哪个是正确的?
A. SELECT ename,sal,email from emp where email = 0;
B. SELECT ename,sal,email from emp where email =’ ’;
C. SELECT ename,sal,email from emp where email is null;
D. SELECT ename,sal,email from emp where email is not null;
正确答案是: C 你选择的答案是:未选 判题结果:×
10、关于约束,下列哪些描述是正确的?()
A. UNIQUE约束不允许空值
B. 在创建PK或UNIQUE 约束时默认会同进创建唯一性索引
C. PK 约束允许列中有一个空值
D. NOT NULL约束是确保列中会出现空值
正确答案是: B 你选择的答案是:未选 判题结果:×
11、CREATE,DROP,ALTER等命令属于下列哪类命令( )
A. DCL
B. DDL
C. DML
D. DQL
正确答案是: B 你选择的答案是:未选 判题结果:×
12、INSERT,UPDATE,DELETE等命令属于下列哪类命令( )
A. DCL
B. DDL
C. DML
D. DQL
正确答案是: C 你选择的答案是:未选 判题结果:×
13、评估SQL语句
SELECT ROUND(TRUNCATE(MOD(1600,10),-1),2) FROM dual;语句执行完成后的结果是?
A. 0 B. 1 C. 0.00 D. 发生错误
正确答案是: A 你选择的答案是:未选 判题结果:×
第三章 数据表操作
选择:
1、若需要更新居住地为亚特兰大 (Atlanta) 的雇员的区域代码。考虑下面的部分 UPDATE 语句:
UPDATE 雇员 SET 区域代码 = 770
应在 UPDATE 语句中包括以下哪个子句才能得到所需结果?
A. UPDATE 城市 = Atlanta; B. SET 城市 = 'Atlanta';
C. WHERE 城市 = 'Atlanta'; D. LIKE 'At%';
正确答案是: C 你选择的答案是:未选 判题结果:×
2、MySql数据库中,下面( )可以作为有效的列名。
A. Column
B. 123_NUM
C. NUM_#123
D. #NUM123
正确答案是: C 你选择的答案是:未选 判题结果:×
3、MySql数据库中,以下( )命令可以删除整个表中的数据,并且无法回滚。
A. drop
B. delete
C. truncate
D. cascade
正确答案是: C 你选择的答案是:未选 判题结果:×
4、若MySql设置默认提交方式为手动提交,第一步用DELETE命令删除了表A中的数据(但并没有提交),
第二步试图创建了一个表B,但由于权限不足,表B并没有创建成功.
第三步执行了一个ROLLBACK回滚操作.请问以下叙述正确的是( )
A. 表A中的数据被恢复回来
B. 表A中的数据被彻底从数据库中删除
C. 表A中的数据被移至一个临时的表中
D. 表A中的数据将处于一个不确定的状态
正确答案是: A 你选择的答案是:未选 判题结果:×
5、若MySql设置默认提交方式为手动提交,第一步执行了DELETE命令,删除了某表中的一条记录.第二步执行了COMMIT命令.
最后又执行了ROLLBACK命令.请问以下叙述正确的是( )
A. 被删除的记录又被恢复回来,仍然存放在数据库的表中
B. 被删除的记录彻底从数据库中被删除掉了
C. 被删除的记录只是当前用户看不到了,而其它用户还能看到
D. 被删除的记录当前用户可以看到,而其它用户却看不到了
正确答案是: B 你选择的答案是:未选 判题结果:×
6、若MySql设置默认提交方式为手动提交,第一步用DELETE命令删除了表A中的数据(但并没有提交),第二步成功创建了一个表B,
第三步执行了一个ROLLBACK回滚操作.请问以下叙述正确的是( )
A. 表A中的数据被恢复回来,创建的表B被从数据库中被删除,恢复为未建表之前的状态
B. 表A中的数据被恢复回来,表B被创建在数据库中.
C. 表A中的数据被彻底从数据库中删除,但表B被从数据库中被删除,恢复为未建表之前的状态
D. 表A中的数据被彻底从数据库中删除,表B被创建在数据库中.
正确答案是: B 你选择的答案是:未选 判题结果:×
7、若想要修改一个表的结构,应该用以下哪个命令( )
A. ALTER TABLE
B. DEFINE TABLE
C. MODIFY TABLE
D. REBUILD TABLE
正确答案是: A 你选择的答案是:未选 判题结果:×
8、以下对于事务的叙述,比较全面的是( )
A. 事务中的操作是一个整体,要成功都成功,要失败都失败
B. 事务可以把所操作的数据库由一个状态转变到另一个状态
C. 事务在提交之前,其它事务看不到它对数据库的影响
D. 以上所述都是正确的
正确答案是: D 你选择的答案是:未选 判题结果:×
9、对于MySql数据库,设计用户表时,家庭住址字段最好采用下面的哪个数据类型进行存储
A. CHAR
B. CHAR2
C. VARCHAR
D. VARCHAR2
正确答案是: C 你选择的答案是:未选 判题结果:×
10、假定有一张表用户表users,其中一身份证字段ID_card。为了维护数据的完整性,在设计数据库时,最好对ID_card字段添加约束,请问应该添加什么约束( )
A.primary key B.check C.default D.not null
正确答案是: A 你选择的答案是:未选 判题结果:×
11、以下哪个选项不是有效的MySql约束类型?( )
A. UNIQUE B.NONUNIQUE
C. CHECK D.PRIMARY KEY
正确答案是: B 你选择的答案是:未选 判题结果:×
12、有数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为
A. 10 10 B. 4 4 C. 10 4 D. 4 10
正确答案是: C 你选择的答案是:未选 判题结果:×
13、关于表的主键,说法正确的是( )。
A. 主键字段最多只能建立在一个字段上
B. 主键字段的值可以重复
C. 主键字段的值能为Null
D. 主键字段的值不能重复
正确答案是: D 你选择的答案是:未选 判题结果:×
13、以下哪个命令是DDL命令( )
A. CREATE
B. INSERT
C. COMMIT
D. SELECT
正确答案是: A 你选择的答案是:未选 判题结果:×
15、以下关于列的叙述中,哪一项是不正确的?
A. 可以增大 CHAR 列的宽度。
B. 如果列包含非空数据,则可以修改列的数据类型。
C. 可以将 CHAR 数据类型的列转换为 VARCHAR2 数据类型。
D. 可以将 DATE 日期类型的列转换为 VARCHAR2 列。
正确答案是: B 你选择的答案是:未选 判题结果:×
16、如果需要更新 6 月 30 日之前生产的产品的有效期。应在 UPDATE 语句的哪个子句中指定这一条件?
A. ON 子句 B. WHERE 子句 C. SET 子句 D. USING 子句
正确答案是: B 你选择的答案是:未选 判题结果:×
17、MySql数据库中,取余数的运算符是()。
A. % B. mod C. / D.
正确答案是: A 你选择的答案是:未选 判题结果:×
18、下面哪个命令不属于数据操纵语言(DML)( )
A.ALTER…
B.INSERT…
C.UPDATE…
D. Delete…
正确答案是: A 你选择的答案是:未选 判题结果:×
19、使用哪个命令可以从表的行中删除所有数据而不删除表自身?
A. ALTER TABLE B. DROP TABLE C. MODIFY D. DELETE FROM
正确答案是: D 你选择的答案是:未选 判题结果:×
20、以下哪项陈述最符合此 SQL 语句中“学生”表发生的变化?
UPDATE 学生
SET 午餐编号 = (SELECT 午餐编号 FROM 学生 WHERE 学生标识 = 17 )
WHERE 学生标识 = 19;
A. 此语句将更新“学生”表,具体操作为将标识号为 19 的学生的午餐编号替换为标识号为 17 的学生的午餐编号。
B. 将一个新行插入“学生”表中。
C. 不发生任何变化,因为不能在 UPDATE 语句中使用子查询。
D. 删除学生 17 的午餐编号,并根据学生 19 的午餐编号插入一个新值。
正确答案是: A 你选择的答案是:未选 判题结果:×
21、删除emp表中所有数据,且可以rollback,以下语句哪个命令可以实现( )
A. truncate table emp
B. drop table emp
C. delete * from emp
D. delete from emp
正确答案是: D 你选择的答案是:未选 判题结果:×
22、哪个命令用来创建一个primary key constraint pk_books 在表 BOOKS, 列 ISBN上? 请选择一个。
A. create primary key on books(ISBN);
B. create constraint pk_books primary key on books(ISBN);
C. alter table books add constraint pk_books primary key (ISBN);
D. alter table books add primary key (ISBN);
正确答案是: C 你选择的答案是:未选 判题结果:×
23、以下哪个命令是DCL命令( )
A. CREATE
B. INSERT
C. COMMIT
D. GRANT
正确答案是: D 你选择的答案是:未选 判题结果:×
第四章 查询操作
选择:
1、应使用以下哪个组函数来显示“雇员”表中的最高薪金值?
A. AVG B. COUNT C. MAX D. MIN
正确答案是: C 你选择的答案是:未选 判题结果:×
2、转换日期类型为字符串的转换函数是( )。
A. to_date B. to_datetime C. to_char D. to_number
正确答案是: C 你选择的答案是:未选 判题结果:×
3、下列正确查询姓张的学生的语句是( )。
A. select * from 表名 where 姓名 = ‘张’
B. select * from 表名 where 姓名 like ‘张%’
C. select * from 表名 where 姓名 = ‘%张%’
D. select * from 表名 where 姓名 like ‘张’
正确答案是: B 你选择的答案是:未选 判题结果:×
4、查询出EMP表中1982年及以后入职的员工信息(注:字段hiredate为入职日期,数据类型为DATE型)
A. select * from emp where hiredate>='19820101';
B. select * from emp where hiredate>=to_char('19820101','YYYYMMDD');
C. select * from emp where to_date(hiredate,'YYYYMMDD')>='19820101';
D. select * from emp where to_char(hiredate,'YYYYMMDD')>='19820101';
正确答案是: A 你选择的答案是:未选 判题结果:×
5、在PL/SQL中用以下哪个运算符或函数,可以将两个字符串连接起来
A. strcat
B. +
C. ||
D. stradd
正确答案是: C 你选择的答案是:未选 判题结果:×
6、emp表是雇员信息表,sal字段存放是的雇员的月薪
以下哪个变量可以存放sal类型的值
A. v_sal emp%rowtype;
B. v_sal emp.sal%type;
C. v_sal emp.sal.%type;
D. v_sal %type(emp.sal);
正确答案是: B 你选择的答案是:未选 判题结果:×
7、emp表是雇员信息表,以下哪个变量可以存放emp表中的一条记录
A. v_record emp%type;
B. v_record emp%recordtype;
C. v_record emp%record_type;
D. v_record emp%rowtype;
正确答案是: D 你选择的答案是:未选 判题结果:×
8、下面四个语句中哪一个是正确的?( )
A.SELECT * , ENAME FROM EMP;
B.DELETE * FROM EMP;
C.SELECT DISTINCT EMPNO ,HIREDATE FROM EMP;
D.SELECT ENAME|SAL AS “name” FROM EMP ;
正确答案是: C 你选择的答案是:未选 判题结果:×
9、下列哪个是组合主键的特征( )
A.每列有唯一的值,但不是NULL值
B.组合有唯一的值,并且其中每列没有NULL值
C.组合的第一列和最后一列有唯一值
D.组合的第一列和最后一列有唯一值,但没有NULL值
正确答案是: B 你选择的答案是:未选 判题结果:×
10、以下 SQL 语句将返回什么结果?
SELECT COUNT(DISTINCT 薪金) FROM 雇员;
A. 雇员表中所有唯一薪金的列表 B. 雇员表中的薪金总额
C. 雇员表中的总行数 D. 雇员表中的唯一薪金的数量
正确答案是: D 你选择的答案是:未选 判题结果:×
11、在Oracle中,有一个教师表teacher的结构如下:
ID NUMBER(5)
NAME VARCHAR2(25)
EMAIL VARCHAR2(50)
下面哪个语句显示没有Email地址的教师姓名()。
A.SELECT name FROM teacher WHERE email = NULL;
B.SELECT name FROM teacher WHERE email <> NULL;
C.SELECT name FROM teacher WHERE email IS NULL;
D.SELECT name FROM teacher WHERE email IS NOT NULL;
正确答案是: C 你选择的答案是:未选 判题结果:×
12、关于通配符中的“%”,以下说法正确的两项是( )。
A. 代表任意一个字符,与Like结合使用
B. 代表任意多个字符,与Like结合使用
C. 代表任意一个字符,在Like后的表达式中只能使用一次“%”
D. 代表任意多个字符,在Like后的表达式中不可以使用多次“%”
正确答案是: B 你选择的答案是:未选 判题结果:×
13、查询出所有名字以'S'开始的员工( )
A. select * from emp where ename in 'S%';
B. select * from emp where ename='S%';
C. select * from emp where ename like 'S%';
D. select * from emp where ename like 'S_';
正确答案是: C 你选择的答案是:未选 判题结果:×
14、语句SELECT * FROM dept WHERE NOT EXISTS (SELECT * FROM emp WHERE deptno=dept.deptno)执行后的结果为( )
A.只显示存在于EMP表中的部门全部信息。
B.只显示不存在于EMP表中的部门全部信息
C.未返回任何数据
D.显示DEPT表中的全部信息
正确答案是: B 你选择的答案是:未选 判题结果:×
15、在Oracle中,下面用于限制分组函数的返回值的子句是()。
A.WHERE
B.HAVING
C.ORDER BY
D.无法限定分组函数的返回值
正确答案是: B 你选择的答案是:未选 判题结果:×
16、对于以下SQL语句说法正确的是
SELECT ename FROM emp
WHERE sal IN (SELECT MAX(sal)
FROM emp GROUP BY deptno);
A. 这个语句是符合语法的
B. 这个语句是不能执行的,因为缺少HAVING子句
C. 这个语句是不能执行的,因为分组的条件列不在SELECT列表中
D. 这个语句是不能执行的,因为GROUP BY子句应该在主查询中,而不是在子查询中
正确答案是: A 你选择的答案是:未选 判题结果:×
17、( )子句用于列出唯一值。
A.unique B.distinct C.order by D.group by
正确答案是: B 你选择的答案是:未选 判题结果:×
18、下面哪一个语句可以使用子查询( )
A.SELECT 语句 B.UPDATE语句
C.DELETE语句 D.以上都是
正确答案是: D 你选择的答案是:未选 判题结果:×
19、列出EMP表中,从事每个工种(JOB)的员工人数( )
A. select job from emp;
B. select job,count(*) from emp;
C. select distinct job,count(*) from emp;
D. select job,count(*) from emp group by job;
正确答案是: D 你选择的答案是:未选 判题结果:×
20、查询出EMP表中COMM字段为空的记录( )
A. select * from emp where comm='';
B. select * from emp where comm=null;
C. select * from emp where nvl(comm)=0;
D. select * from emp where comm is null;
正确答案是: D 你选择的答案是:未选 判题结果:×
21、哪一个是子查询执行的顺序( )
A.最里面的查询到最外面的查询
B.最外面的查询到最里面的查询
C.简单查询到复杂查询
D.复杂查询到简单查询
正确答案是: A 你选择的答案是:未选 判题结果:×
22、数据库中有两个用户scott和myuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( )
A.select*from scott.wz where wunit is null and rownum<5;
B.select*from myuser.wz where wunit = null and rownum<5;
C.select*from myuser.wz where wunit is null and rownum<6;
D.select*form scott.wz where wunit is null and rownum<6;
正确答案是: C 你选择的答案是:未选 判题结果:×
23、 要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( )
A.select * from wz where wunit is null limit 0,5;
B.select * from wz where wunit = null limit 0,5;
C.select * from wz where wunit is null limit 1,5;
D.select * form wz where wunit = null limit 1,5;
正确答案是: A 你选择的答案是:C 判题结果:×
24、使用以下哪个函数可返回月份中的最大日期?
A. END_DAY B. FINAL_DAY C. HIGHEST_DAY D. LAST_DAY
正确答案是: D 你选择的答案是:未选 判题结果:×
25、要统计某表中记录的总个数,以下哪项是正确的SQL语句( )。
A. select Max(*) from 表名
B. select Sum(*) from 表名
C. select Count(*) from 表名
D. select Min(*) from 表名
正确答案是: C 你选择的答案是:未选 判题结果:×
26、查询出当前的数据库系统时间,精确到秒( )
A. select to_date(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
B. select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
C. select date(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
D. select chr(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
正确答案是: B 你选择的答案是:未选 判题结果:×
27、 查询出当前的日期,可以用下面哪个选项( )
A. select curdate();
B. select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
C. select date(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
D. select chr(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
正确答案是: A 你选择的答案是:B 判题结果:×
28、取出工资在2000到3000元(包括上下限)之间的员工( )
A. select * from emp wher sal in (2000,3000);
B. select * from emp wher sal like (2000,3000);
C. select * from emp wher sal = (2000,3000);
D. select * from emp wher sal between 2000 and 3000;
正确答案是: D 你选择的答案是:未选 判题结果:×