1.简单
哪个聚合函数用于统计行数?
- AMAX
- BCOUNT
- CSUM
- DAVG
2.简单
什么是候选键?
- A两个表共有的、用于关联其行的一组列
- B任何含有 NULL 值的列
- C能唯一标识每一行的最小列集合
- D等待成为外键的列
3.简单
什么是复合键?
- A由两列或更多列组成的键
- B存储在单独表中的键
- C由数据库生成的键
- D允许重复值的键
4.中等
在关系代数中,选择运算符(σ)对应于哪个 SQL 子句?
- AORDER BY
- BGROUP BY
- CWHERE
- DSELECT 列表
5.中等
哪个查询返回每个部门的最高工资?
- ASELECT dept, MAX(salary) FROM emp ORDER BY dept
- BSELECT dept, MAX(salary) FROM emp GROUP BY dept
- CSELECT MAX(dept), salary FROM emp GROUP BY salary
- DSELECT dept, salary FROM emp WHERE salary = MAX(salary)
6.中等
为什么一个表只能有一个聚集索引?
- A聚集索引只能建在主键上
- B行在物理上只能按一种顺序存储
- C聚集索引占用太多内存
- DSQL 标准禁止一个表上有多个索引
7.困难
表 employee(emp_id, dept_id, dept_name) 的键是 emp_id,且 dept_id → dept_name。哪种说法正确?
- A它满足 2NF 但不满足 3NF
- B它满足 BCNF,因此也满足 3NF
- C它不满足 2NF
- D它不满足 1NF
8.困难
为什么在标准 SQL 中 SELECT dept, name, COUNT(*) FROM emp GROUP BY dept 是无效的?
- AGROUP BY 必须列出表的所有列
- BCOUNT(*) 不能与 GROUP BY 一起使用
- Cname 既没有分组也没有聚合,因此每组没有唯一的值
- Ddept 必须出现在聚合函数中
答案
- 1. B · COUNT
- 2. C · 能唯一标识每一行的最小列集合
- 3. A · 由两列或更多列组成的键
- 4. C · WHERE
- 5. B · SELECT dept, MAX(salary) FROM emp GROUP BY dept
- 6. B · 行在物理上只能按一种顺序存储
- 7. A · 它满足 2NF 但不满足 3NF
- 8. C · name 既没有分组也没有聚合,因此每组没有唯一的值
完整分步解答:请在 examproblems.com 上练习本主题。