二、多选题(每题2分 * 10 = 20分)
1.关于子查询说法正确的有?(BF )
A、子查询只应检索一行。
B、子查询可以检索零个或多个行。
C、子查询只能在SQL-select语句中使用。(group by,order by不可以出现子查询 其他都可以)
D、子查询不能被多于两个级别嵌套。
E、子查询不能在使用组函数的SQL查询语句中使用。
F、当子查询与外部SQL语句中的不等式比较运算符一起使用时,子查询的SELECT子句中的列只能包含一列。
2.关于where和having子句说法正确的有?( BD)
A、WHERE子句可用于限制行和组。
B、WHERE子句只能用于限制行。
C、HAVING子句可用于限制行和组。
D、HAVING子句只能用于限制组。
E、如果查询使用HAVING子句,则不能在查询中使用WHERE子句。
F、HAVING子句不能在子查询中使用。
3.在哪种情况下,会用到外连接查询?(CE )
A、要连接的表具有NOT NULL列。
B、要连接的表只有匹配的数据
C、要连接的列具有NULL值。 (有空值 就不能使用等值连接 要用 外连接)
D、要连接的表只有不匹配的数据。
E、要连接的表具有匹配和不匹配的数据。
F、仅当表具有主键 – 外键关系时
4.为了提高数据的查询效率,需要在数据库中建立索引,则下列设计索引的原则描述正确的是(AB )
A、 在频繁进行排序或分组(即进行group by 或order by操作)的列上建立索引
B、 考虑列中值的分布,列的基数越大,索引的效果越好
C、 在select关键字后选择列表的列上,建立索引
D、 在表中,索引越多越好
5.下列sql语句正确的有?(B C )
A、 update user name=’张三’,age=22 where id=1
B、 update user set age=22,name=’张三’ where id=1
C、 update user set name=’张三’,age=18 where id=1
D、 update from user set name=’张三’,age=20 where id=1
6.根据下表,子查询有效的是?( CDE )
[图片上传失败...(image-ddf107-1603277801175)]
A、SELECT * FROM employees
where salary > (SELECT MIN(salary)
FROM employees
GROUP BY department_id);
B、SELECT * FROM employees
WHERE salary = (SELECT AVG(salary)
FROM employees
GROUP BY department_id);
C、SELECT distinct department_id FROM employees
WHERE salary > ANY (SELECT AVG(salary)
FROM employees
GROUP BY department_id);
D、SELECT department_id FROM employees
WHERE salary > ALL (SELECT AVG(salary)
FROM employees
GROUP BY department_id);
E、SELECT last_name FROM employees
WHERE salary > ANY (SELECT MAX(salary)
FROM employees
GROUP BY department_id);
F、SELECT department_id FROM employees
WHERE salary > ALL (SELECT AVG(salary)
FROM employees
GROUP BY AVG(SALARY));
7.观察下面创建订单(order)表的SQL语句,当你执行上面的SQL语句时候哪些列会自动创建索引(index)?( AF)
[图片上传失败...(image-84f0a0-1603277801175)]
//复合主键 A、SER_NO
B、ORDER_ID
C、STATUS
D、PROD_ID
E、ORD_TOTAL
F、基于ORDER_ID and ORDER_DATE创建复合索引
8.观察下面employees表的表结构,您创建了一个名为EMP_ID_SEQ的序列,以填充EMPLOYEES表的EMPLOYEE_ID列的序列值。 哪两个语句关于EMP_ID_SEQ序列是正确的?( CD)
[图片上传失败...(image-f9b0f6-1603277801175)] A、您不能使用EMP_ID_SEQ序列填充JOB_ID列。
B、修改EMPLOYEE_ID列时,EMP_ID_SEQ序列无效。
C、EMP_ID_SEQ序列本身不受对EMPLOYEES表的修改的影响。
D、架构中任何其他NUMBER数据类型的列都可以使用EMP_ID_SEQ序列。
E、删除EMPLOYEES表时,将自动删除EMP_ID_SEQ序列。
F、删除EMPLOYEE_ID列时,将自动删除EMP_ID_SEQ序列。
9.下列关于视图的说法,正确的有?(ABC )
A、视图可以防止未经许可的用户访问敏感数据
B、创建视图时,可以将列名改为有意义的名称,使用户更容易理解列所代表的内容
C、定义的视图中可以包含ORDER BY子句
D、不能为视图建立索引
10.下列SQL语句正确的是?( AB)
A、describle view_name;
B、describle table_name;
C、describle column_name;
D、describle sequence_name;