问题 单项选择题

EMPLOYEES表包括了如下的列:
EMPLOYEE_ID NUMBERPrimary Key
LAST_NAMEVARCHAR2(25)
FIRST_NAMEVARCHAR2(25)
DEPARTMENT_ID NUMBER(3)
POSITION VARCHAR2(30)
MANAGER_IDNUMBER
SALARY NUMBER(6, 2)
如果使用了如下的查询语句,请问哪个选项是正确的
SELECT DISTINCT department_id, manager_id
FROM employees;

A.某一特定的部门号(DEPARTMENT_ID)只能显示一次
B.某一特定的经理号(MANAGER_ID)可能显示不止一次(多次)
C.MANAGER ID和DEPARTMENT_ID可能会显示不止一次
D.查询语句将失败,因为DISTINCT关键字只可以使用在单一列的SELECT列表中

答案

参考答案:B

解析: 这一题主要是测试DISTINCT运算符的理解。读者已经看到了DISTINCT可以作用于多列,而此时显示的结果为每一种列组合只显示一行。因此这一查询语句是MANAGER_ID和DEPARTMENT_ID的每种组合只显示一行(一次),而不是DEPARTMENT_ID只显示一次,所以选项A肯定是错的。而基于同样的理由,选项C也肯定是错的。由于DISTINCT关键字可以作用于多列,所以选项D的“DISTINCT关键字只可以使用在单一列的SELECT列表中”的这一陈述显然是站不住脚的,因此选项D也是错的。由于查询语句是MANAGER_ID和DEPARTMENT_ID的每种组合只显示一行(一次),所以经理号(MANAGER_ID)是可能会显示多次的,即选项B是正确答案。

选择题
多项选择题