📜  门| GATE-CS-2014-(Set-3) |第 65 题

📅  最后修改于: 2021-09-25 06:38:58             🧑  作者: Mango

考虑以下关系模式:

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)
说明:如果任何员工从他们的任何客户那里收到了“GOOD”以外的评级,那么内部查询将返回一些行;
NOT EXISTS 将返回 false,因此不会打印这些员工。

只有那些从所有客户那里获得“良好”评级的员工才会被打印出来。
这个问题的测验