Поиск в БД - MySQL
Формулировка задачи:
Имеются 2 таблицы (Структуры прилагаю на скрине). ID связал внешним ключом. Как мне найти в первой таблице авторов у которых есть хоть какие-либо книги во второй таблице? (В таблице book имеются id авторов которым принадлежит эта книга)
Решение задачи: «Поиск в БД»
textual
Листинг программы
select * from avt where a_id in ( select avt_id from book group by avt_id )
Объяснение кода листинга программы
- Код написан на SQL (Structured Query Language), который используется для работы с реляционными базами данных.
- SQL-запрос начинается с ключевого слова
SELECT, которое указывает, что мы хотим получить некоторые данные из базы данных. - После
SELECTидет*, что означает, что мы хотим получить все столбцы из выбранной таблицы. FROM avtуказывает, что мы хотим получить данные из таблицы с именемavt.WHERE a_id in (select avt_id from book group by avt_id)- это подзапрос, который используется для фильтрации данных. Он возвращает список уникальных значенийavt_idиз таблицыbook.- Внешний запрос
SELECTиспользует этот список для фильтрации строк в таблицеavt, оставляя только те, у которых значение столбцаa_idприсутствует в списке.