Поиск в БД - 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
присутствует в списке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д