Запрос, который выводит авторов и жанры - 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

Объяснение кода листинга программы

В данном коде происходит следующее:

  1. SELECT - выборка данных из базы данных
  2. autorname, genrename - выборка полей из таблицы book
  3. FROM - указание источника данных (таблица book)
  4. JOIN - объединение данных из нескольких таблиц (autor и genre)
  5. ON - условие объединения (равенство идентификаторов в таблицах)
  6. WHERE - условие выборки (не указано в данном коде)
  7. GROUP BY - группировка данных (не указано в данном коде)
  8. HAVING - условие для агрегированных данных (не указано в данном коде)
  9. LIMIT - ограничение количества выводимых строк (не указано в данном коде) Код выводит названия полей autorname и genrename из таблицы book, которые соответствуют именам авторов и жанрам книг. Также происходит объединение таблиц autor и genre по идентификаторам autor_id и genre_id соответственно.

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы