Я пытаюсь написать SQL-запрос для базы данных библиотеки с использованием MySQL. Существуют две таблицы shelf(studentnumber, booknumber)
и booklist(booknumber,booktitle,language)
. В таблицах списков книг есть 4 разных языка, а именно italian, spanish, hungarian, german
.Использование NOT EXISTS для выбора ВСЕХ членов
Я хочу изучить studentnumbers
, которые прочитали все книги на выбранном языке.
Примеры данных для таблиц:
create table shelf(studentnumber INT, booknumber INT);
INSERT INTO shelf values(1,1),(1,2),(1,3),(2,1),(2,3)(2,4),(2,5),
(2,6),(3,6),(3,7)(3,8),(3,9);
create table booklist(booknumber INT, booktitle VARCHAR(50), language VARCHAR(10);
INSERT INTO booklist values(1, 'FirstBook', 'italian'),(2,'SecondBook', 'spanish'),
(3,'ThirdBook','italian'),(4,'FourthBook','german'),(5,'FifthBook','german'),
(6, 'SixthBook','spanish'),(7,'SeventhBook','hungarian'),(8,'EightBook','hungarian'),
(9,'NinthBook','hungarian'),(10,'TenthBook','Spanish'),(11,'EleventhBook', 'italian');
Пример вывода: Когда смотришь на полки и Booklist таблиц, вы видите, что студент студент не 2 читать все книги на немецком языке и студент со студенческим номером 3 читал все книги на венгерском языке. Но нет ученика, который прочитал все книги на итальянском или испанском языках.
Последняя часть кода будет такой, как указано ниже, но я не мог построить первую часть, возможно, она будет включать в себя NOT EXISTS
SELECT booknumber FROM booklist WHERE language = 'italian';
Да, рассмотрите вопрос о предоставлении надлежащих DDL и/или sqlfiddle AND THE DE SIRED RESULT SET – Strawberry
Хорошее горе. Измените свой вопрос. – Strawberry
@tpanic Отформатируйте свой вопрос правильно. – Beginner