Запрос, который выводит авторов и жанры - MySQL
Формулировка задачи:
ЗАПРОС, который выводит авторов и жанры.
есть три таблицы:CREATE TABLE autor( id int NOT NULL PRIMARY KEY, autorname varchar(100) NOT NULL ); INSERT INTO autor (id, autorname) VALUES ('1','А.С.ПУШКИН'); INSERT INTO autor (id, autorname) VALUES ('2','Н.В.ГОГОЛЬ'); INSERT INTO autor (id, autorname) VALUES ('3','Ф.М.ДОСТОЕВСКИЙ'); INSERT INTO autor (id, autorname) VALUES ('4','К.ДЖ.ДЕЙТ'); INSERT INTO autor (id, autorname) VALUES ('5','И.ПОРТЯНКИН'); INSERT INTO autor (id, autorname) VALUES ('6','Л.Н.ТОЛСТОЙ'); INSERT INTO autor (id, autorname) VALUES ('7','Б.АКУНИН'); INSERT INTO autor (id, autorname) VALUES ('8','А.ПРОХАНОВ'); CREATE TABLE genre( id int NOT NULL PRIMARY KEY, genrename varchar(100) NOT NULL ); INSERT INTO genre (id, genrename) VALUES ('1','РОМАН'); INSERT INTO genre (id, genrename) VALUES ('2','ПОЭМА'); INSERT INTO genre (id, genrename) VALUES ('3','ДЕТЕКТИВ'); INSERT INTO genre (id, genrename) VALUES ('4','УЧЕБНАЯ ЛИТЕРАТУРА'); CREATE TABLE book( id int NOT NULL AUTO_INCREMENT PRIMARY KEY, bookname varchar(255) NOT NULL, genre_id int, autor_id int, isbn varchar(255), bookcount int ); INSERT INTO book (bookname, genre_id, autor_id, isbn, bookcount) VALUES ('Swing: Эффектные пользовательские интерфейсы', 4, 5,'978- 5- 85582- 305-9',4); INSERT INTO book (bookname, genre_id, autor_id, isbn, bookcount) VALUES ('Введение в системы баз данных', 4, 4,'5-8459-0788-8', 3); INSERT INTO book (bookname, genre_id, autor_id, isbn, bookcount) VALUES ('АЗАЗЕЛЬ', 3, 7,'12-1829-8701-328', 1); INSERT INTO book (bookname, genre_id, autor_id, isbn, bookcount) VALUES ('ДЕТСТВО', 1, 6,'25-809-01283-38', 10); INSERT INTO book (bookname, genre_id, autor_id, isbn, bookcount) VALUES ('РУСЛАН И ЛЮДМИЛА', 2, 1,'790-129-083-120', 8); INSERT INTO book (bookname, genre_id, autor_id, isbn, bookcount) VALUES ('ПРЕСТУПЛЕНИЕ И НАКАЗАНИЕ', 3, 3,'403-809-207-745', 2); INSERT INTO book (bookname, genre_id, autor_id, isbn, bookcount) VALUES ('БЕСЫ', 1, 3,'83-769-237-143', 1);
ЗАПРОС, который выводит авторов и жанры.
Решение задачи: «Запрос, который выводит авторов и жанры»
textual
Листинг программы
SELECT autorname, genrename FROM book JOIN autor ON book.autor_id = autor.id JOIN genre ON book.genre_id = genre.id
Объяснение кода листинга программы
В данном коде происходит следующее:
- SELECT - выборка данных из базы данных
- autorname, genrename - выборка полей из таблицы book
- FROM - указание источника данных (таблица book)
- JOIN - объединение данных из нескольких таблиц (autor и genre)
- ON - условие объединения (равенство идентификаторов в таблицах)
- WHERE - условие выборки (не указано в данном коде)
- GROUP BY - группировка данных (не указано в данном коде)
- HAVING - условие для агрегированных данных (не указано в данном коде)
- LIMIT - ограничение количества выводимых строк (не указано в данном коде) Код выводит названия полей autorname и genrename из таблицы book, которые соответствуют именам авторов и жанрам книг. Также происходит объединение таблиц autor и genre по идентификаторам autor_id и genre_id соответственно.