Тема: Дві і більше умов для 1 стовпця
Привіт, почав вивчати SQL і є така база в якій: таблиця books
b_id b_name b_year b_quantity
1 Eugene Onegin 1985 2
2 The Fishermen and the Golden Fish 1990 3
3 Foundation and Empire 2000 5
4 Programming Psychology 1998 1
5 The C++ Programming Language 1996 3
6 Course of Theoretical Physics 1981 12
7 The Art of Computer Programming 1993 7
таблиця authors
a_id a_name
1 Donald Knuth
2 Isaac Asimov
3 Dale Carnegie
4 Lev Landau
5 Evgeny Lifshitz
6 Bjarne Stroustrup
7 Alexander Pushkin
і таблиця m2m_books_authors
b_id a_id
7 1
3 2
4 3
6 4
6 5
4 6
5 6
1 7
2 7
Потрібно виконати запит, щоб вивести книжки, які мають автора Dale Carnegie та Bjarne Stroustrup(тобто книжка яку написали ці 2 автори, в даному випадку Programming Psychology)
Поки придумав таку реалізацію, але впевнений, що є легша реалізація, працюю в mySQL:
SELECT b_id, b_name
FROM (SELECT b_id, b_name
FROM books
JOIN m2m_books_authors USING(b_id)
WHERE a_id in (6)) as das
JOIN m2m_books_authors USING(b_id)
WHERE a_id in (3);