1.简单
哪条 SQL 语句向表中添加新行?
- AALTER
- BSELECT
- CINSERT
- DUPDATE
2.简单
什么是复合键?
- A存储在单独表中的键
- B由两列或更多列组成的键
- C由数据库生成的键
- D允许重复值的键
3.简单
哪种约束确保某列永远不能留空(NULL)?
- ACHECK NULL
- BDEFAULT
- CUNIQUE
- DNOT NULL
4.中等
SQL 中的视图(view)是:
- A一个行为类似虚拟表的已存储查询
- B一种索引类型
- C数据库客户端中用于浏览各个表的界面
- D表在磁盘上的副本
5.中等
对于电话号码为 NULL 的客户,SELECT COALESCE(phone, 'unknown') FROM customers 返回什么?
- A'unknown'
- B空字符串
- C报错
- DNULL
6.中等
什么是数据库触发器?
- A用户手动运行的查询
- B当表上发生 INSERT、UPDATE 或 DELETE 等指定事件时自动运行的代码
- C一种加快搜索的索引
- D数据库的定时备份
7.困难
相关子查询(correlated subquery)是指:
- A只在外层查询之前运行一次,并将结果缓存供每一行使用
- B只使用聚合函数的子查询
- C通过外键连接两个表的子查询
- D引用外层查询的列,并针对外层的每一行进行求值的子查询
8.困难
对于一个查询,什么是覆盖索引?
- A只建在主键上的索引
- B每晚重建一次的索引
- C覆盖每个表每一列的索引
- D包含查询所需全部列的索引,因此不必读取表本身
答案
- 1. C · INSERT
- 2. B · 由两列或更多列组成的键
- 3. D · NOT NULL
- 4. A · 一个行为类似虚拟表的已存储查询
- 5. A · 'unknown'
- 6. B · 当表上发生 INSERT、UPDATE 或 DELETE 等指定事件时自动运行的代码
- 7. D · 引用外层查询的列,并针对外层的每一行进行求值的子查询
- 8. D · 包含查询所需全部列的索引,因此不必读取表本身
完整分步解答:请在 examproblems.com 上练习本主题。