Рубрики

ВОРОТА | GATE-CS-2014- (Set-3) | Вопрос 65

Рассмотрим следующую реляционную схему:

  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, поэтому эти сотрудники не будут напечатаны.

Рекомендуемые посты:

ВОРОТА | GATE-CS-2014- (Set-3) | Вопрос 65

0.00 (0%) 0 votes