Главная /
SQL (Oracle): Основы /
Имеется модель данных:[картинка] , где таблица Books имеет структуру: Books: Book_id (number, PK), Title (varchar2 (50)), Publishing (varchar2 (40)), Size (number), Quantity (number NOT NULL), Price (number, NOT NULL) , таблица Readers имеет структуру: Re
Имеется модель данных:
, где таблица Books
имеет структуру:
Books: Book_id (number, PK), Title (varchar2 (50)), Publishing (varchar2 (40)), Size (number), Quantity (number NOT NULL), Price (number, NOT NULL)
, таблица Readers
имеет структуру:
Readers: Reader_id (number, PK), Name (varchar2 (20)), Day_Of_Birth (date), Comments (varchar2 (100)), Address (varchar2 (300)), Mobile_phone (varchar2 (20))
, таблица Reader_Book
имеет структуру:
Reader_Book: Reader_id (number PK FK), Book_id (number PK FK), Quantity (number)
Запрос предназначен для отображения списка названий книг, которые выданы читателю 'Peter'
:
При выполнении данного запроса отбирается избыточное количество строк, т.е. названия даже тех книг, которые не находятся на руках у читателя 'Peter'
. Объясните причину отклонения получаемого результата от ожидаемого результата.
Правильный ответ:
если запрос содержит оператор
JOIN
, то следующий далее оператор EXISTS
игнорируется
в подзапросе
EXISTS
пропущено условие: rb.Reader_id = r.Reader_id
в подзапросе
EXISTS
вместо символа "*" следовало использовать название столбца Name
перед ключевым словом
EXISTS
пропущено логическое отрицание NOT
Сложность вопроса
75
Сложность курса: SQL (Oracle): Основы
67
Оценить вопрос
Комментарии:
Аноним
Экзамен прошёл на пять с минусом. лол
21 авг 2020
Аноним
Благодарю за подсказками по intiut'у.
23 авг 2018
Другие ответы на вопросы из темы базы данных интуит.
- # Какое из перечисленных выражений можно использовать для получения названия текущего дня недели
- # Выберите среди предложенных ниже вариантов те, которые отражают корректный порядок следования различных фраз в запросе на выборку данных:
- # Имеется модель данных: [Большая Картинка] , где таблица Books имеет структуру: Books: Book_id (number, PK), Title (varchar2 (50)), Publishing (varchar2 (40)), Size (number), Quantity (number, NOT NULL), Price (number, NOT NULL) , таблица Authors имеет структуру: Authors: Author_id (number, PK), Name (varchar2 (40)), Day_Of_Birth (date), Address (varchar2 (500)) , таблица Book_Auth имеет структуру: Book_Auth: Book_id (number, FK), Auth_id (number, FK) Запрос SQL имеет вид: SELECT Title, Authors.Name FROM Books b JOIN Book_Auth ba ON b.Book_id = ba.Book_id JOIN Authors a ON ba.Auth_id = a.Author_id При попытке выполнить запрос сервер БД генерирует сообщение об ошибке. Укажите правильную причину возникновения ошибки:
- # Имеется модель данных: [Большая Картинка] , где таблица Books имеет структуру: Books: Book_id (number, PK), Title (varchar2 (50)), Publishing (varchar2 (40)), Size (number), Quantity (number, NOT NULL), Price (number, NOT NULL) Запрос предназначен для отображения наименований издательств (Publishing), выпустивших не меньшее число книг (наименований книг), чем издательство "New York" и издательство "Eagle". SELECT Publishing FROM Books GROUP BY Publishing Having count (Book_id) __________ (select Count (Book_id) from Books group by Publishing having Publishing in ('New York', 'Eagle') ) Укажите оператор сравнения, который при подстановке вместо знака подчеркивания обеспечивает корректное выполнение запроса и получение требуемого результата:
- # Имеется модель данных: [Большая Картинка] , где таблица Books содержит данные: Book_idTitlePublishingSizeQuantityPrice11TigersStreet Publishing300130012FlowersBilly Press200045013TigersWorld Press300024014TigersStreet Publishing3001300 Запрос SQL имеет вид: SELECT Book_id FROM Books b WHERE Title, Size in (SELECT Title, Size FROM Books WHERE Publishing = 'Street Publishing') AND Publishing <> 'Street Publishing' Выберите среди предложенных вариантов верный вариант итогового отчета: