考虑以下关系模式:
employee(empId, empName, empDept)
customer(custId, custName, salesRepId, rating)
salesRepId是引用雇员关系的empId的外键。假设每位员工至少要向一位客户进行销售。以下查询返回什么?
SELECT empName
FROM employee E
WHERE NOT EXISTS ( SELECT custId
FROM customer C
WHERE C.salesRepId = E.empId
AND C.rating <> `GOOD`);
(A)所有客户中至少有一位客户的评级为“良好”的所有员工的姓名。
(B)最多有一位客户被评为“良好”等级的所有雇员的姓名。
(C)所有客户都没有“好”评级的雇员的姓名。
(D)所有员工的名字,所有客户的评价都为“良好”。答案: (D)
说明:如果任何员工从他们的任何客户那里收到了除“良好”之外的其他评价,那么内部查询将返回一些行;
并且NOT EXISTS将返回false,因此不会打印这些员工。
只有那些所有客户都将其评定为“良好”的员工才会被打印。
这个问题的测验