Связь таблиц или запрос - MySQL

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Запутался в связях таблиц и запросах. Необходимо правильно создать таблицу или правильно построить запрос, не пойму. Есть таблица книги (book) с множеством свойств (автор, год, цена...) и допустим таблица автор (author). Понятное дело для чего это делает, но как это правильно организовать чтобы в последствии я мог вывести полную информацию о нужной книге, сделать нужный мне запрос и вывести нужные данные. Что-то такое пробовал, но нужного результата так и не достиг. "SELECT author.name, book.name, book.author FROM author INNER JOIN book ON book.author = author.id".

Решение задачи: «Связь таблиц или запрос»

textual
Листинг программы
use test;
#------------------------
create table author
(
 a_Id int NOT NULL AUTO_INCREMENT,
 a_Name varchar(40) NOT NULL,
 PRIMARY KEY (a_Id)
);
 
#-------------------------------
create table book
(
 b_Id int NOT NULL AUTO_INCREMENT,
 b_Name varchar(40) NOT NULL,
 author_id int,
 primary key(b_Id),
 constraint FK_book foreign key(author_id) references author(a_Id)
 on delete cascade
);
 
#----------------------------------
SELECT A.a_Id, A.a_name, B.b_name
FROM author A INNER JOIN book B
ON A.a_Id=B.author_id
ORDER BY 1 ASC

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

  1. Создание таблицы author с полями a_Id и a_Name.
  2. Создание таблицы book с полями b_Id, b_Name и author_id.
  3. Создание связи между таблицами author и book с помощью внешнего ключа.
  4. Определение запроса на выборку данных из таблиц author и book.
  5. Использование оператора INNER JOIN для объединения данных из таблиц.
  6. Указание полей, которые необходимо выбрать из таблиц author и book.
  7. Указание порядка сортировки результатов запроса по полю a_Id.
  8. Запуск запроса на выборку данных.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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