FROM Book RIGHT JOIN Book_in_Lib ON Book.BookID=Book_in_Lib.BookID;
Инструкция RIGHT JOIN будет указывать на то, что все записи из таблицы Book_in_lib будут добавляться в общий набор записей, даже если в таблице Book будут отсутствовать совпадающие значения в полях BookID.
Результат этого запроса:
3. Задание. Не используя конструктор запросов, напишите запрос, который выведет в обратном алфавитном порядке названия книг, выпущенных после 2000 года, фамилия автора у которых начинается с буквы «Г» или название издательства заканчивается буквой «а».
SELECT DISTINCT Book.Название
FROM Book
WHERE (Book.Год>2000) And (Book.Автор Like ("Г*") Or Book.Издательство Like ("*а"))
ORDER BY Book.Название DESC;
Результат:
4. Задание. Выведите список авторов и годы, в который каждый из них опубликовал первую книгу.
Для выполнения этого задания добавим еще одну запись в таблицу Book:
SELECT Book.Автор, MIN(Book.Год) AS [Год первого издания]
FROM Book
GROUP BY Book.Автор;
В результате выполнения запроса имеем
5. Задание. Попробуйте написать запрос, который выведет авторов книг, ни одного экземпляра которых нет в читальном зале (т.е. ни у одного экземпляра текущий статус не равен «в читальном зале»).
Для выполнения этого задания немного изменим таблицу Book_in_Lib
SELECT DISTINCT Автор
FROM (SELECT Book.Автор, Book_in_Lib.BookID
FROM Book INNER JOIN Book_in_Lib ON Book.BookID=Book_in_Lib.BookID)
WHERE BookID NOT IN (SELECT BookID FROM Book_in_Lib WHERE StatusID=3);
Результат выполения запроса:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.