Требуется сформулировать запрос “Найти название издательств и общее число изданных ими книг для тех издательств, для которых ни в одном другом издательстве не издавалось то же общее число книг”. Какие из приведенных ниже формулировок являются правильными?
(Отметьте один правильный вариант ответа.)
Варианты ответа
SELECT PUB_NAME, COUNT (ISBN)FROM PUBLISHERS, BOOKSWHERE PUBLISHERS.PUB_ID = BOOKS.PUB_IDGROUP BY PUBLISHERS.PUB_IDHAVING NOT EXISTS (SELECT PUBLISHERS1.PUB_ID FROM PUBLISHERS PUBLISHERS1, BOOKS BOOKS1 WHERE PUBLISHERS1.PUB_ID <> PUBLISHERS.PUB_ID GROUP BY PUBLISHERS1.PUB_ID HAVING COUNT(BOOKS1.ISBN) = COUNT (BOOKS.ISBN));(Верный ответ)
SELECT PUB_NAME, COUNT (ISBN)FROM PUBLISHERS, BOOKSWHERE PUBLISHERS.PUB_ID = BOOKS.PUB_ID AND COUNT (ISBN) NOT IN (SELECT COUNT (ISBN) FROM PUBLISHERS PUBLISHERS1, BOOKS BOOKS1 WHERE PUBLISHERS1.PUB_ID = BOOKS1.PUB_ID AND PUBLISHERS1.PUB_ID <> PUBLISHERS.PUB_ID GROUP BY PUBLISHERS1.PUB_ID)GROUP BY PUBLISHERS.PUB_ID;
SELECT PUB_NAME, COUNT (ISBN)FROM PUBLISHERS, BOOKSGROUP BY PUBLISHERS.PUB_IDHAVING PUBLISHERS.PUB_ID = BOOKS.PUB_ID AND UNIQUE (SELECT PUBLISHERS1.PUB_ID FROM PUBLISHERS, BOOKS BOOKS1 WHERE PUBLISHERS.PUB_ID = BOOKS1.PUB_ID GROUP BY PUBLISHERS.PUB_ID HAVING COUNT(BOOKS1.ISBN) = COUNT (BOOKS.ISBN));