Требуется сформулировать запрос “Найти имена авторов, книги которых никогда не публиковались издательствами, издававшими книги Дейта”. Какие из приведенных ниже формулировок являются правильными?
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Варианты ответа
SELECT DISTINCT AUTHOR_NAMEFROM AUTHORS, AUTHORS AUTHORS1, AUTHORS-BOOKS AUTHORS-BOOKS1, BOOKS, BOOKS BOOKS1, PUBLISHERS PUBLISHERS1WHERE AUTHORS.AUTHOR_ID = AUTHORS-BOOKS.AUTHOR_ID AND AUTHORS.AUTHOR_ID = AUTHORS-BOOKS.AUTHOR_ID AND AUTHORS-BOOKS.ISBN = BOOKS.ISBN AND BOOKS.PUB_ID = PUBLISHERS.PUB_ID AND PUBLISHERS.PUB_ID <> PUBLISHERS1.PUB_ID AND AUTHORS1.AUTHOR_NAME = ‘Chris Date’ AND AUTHORS1.AUTHOR_ID = AUTHORS-BOOKS1.AUTHOR_ID AND AUTHORS-BOOKS1.ISBN = BOOKS1.ISBN AND BOOKS1.PUB_ID = PUBLISHERS1.PUB_ID);
SELECT AUTHOR_NAMEFROM AUTHORSWHERE AUTHOR_ID NOT IN (SELECT AUTHOR_ID FROM AUTHORS-BOOKS, BOOKS, PUBLISHERS WHERE AUTHORS-BOOKS.ISBN = BOOKS.ISBN AND BOOKS.PUB_ID = PUBLISHERS.PUB_ID AND PUBLISHERS.PUB_ID IN (SELECT PUBLISHERS.PUB_ID FROM AUTHORS, AUTHORS-BOOKS, BOOKS, PUBLISHERS) WHERE AUTHORS.AUTHOR_NAME = ‘Chris Date’ AND AUTHORS.AUTHOR_ID = AUTHORS-BOOKS.AUTHOR_ID AND AUTHORS-BOOKS.ISBN = BOOKS.ISBN AND BOOKS.PUB_ID = PUBLISHERS.PUB_ID));(Верный ответ)
SELECT DISTINCT AUTHOR_NAMEFROM AUTHORS, AUTHORS-BOOKS, BOOKS, PUBLISHERSWHERE AUTHORS.AUTHOR_ID = AUTHORS-BOOKS.AUTHOR_ID AND AUTHORS.AUTHOR_ID = AUTHORS-BOOKS.AUTHOR_ID AND AUTHORS-BOOKS.ISBN = BOOKS.ISBN AND BOOKS.PUB_ID = PUBLISHERS.PUB_ID AND PUBLISHERS.PUB_ID NOT IN (SELECT PUBLISHERS.PUB_ID FROM AUTHORS, AUTHORS-BOOKS, BOOKS, PUBLISHERS) WHERE AUTHORS.AUTHOR_NAME = ‘Chris Date’ AND AUTHORS.AUTHOR_ID = AUTHORS-BOOKS.AUTHOR_ID AND AUTHORS-BOOKS.ISBN = BOOKS.ISBN AND BOOKS.PUB_ID = PUBLISHERS.PUB_ID);(Верный ответ)