SQL Foreign key Какой писать запрос

Подскажите пожалуйста какой писать запрос SQL для того что бы дернуть данные из второй таблицы ?

create table person (
  id int primary key auto_increment,
  name varchar(20)
);

create table orders(
  id int primary key auto_increment,
  name varchar(20)not null,
  price int not null,
  foreign key(id) references person(id)
);

Ответы (1 шт):

Автор решения: Akina

Кривая структура. Должно быть типа

CREATE TABLE person (
  id_person INT AUTO_INCREMENT PRIMARY KEY,
  person_name VARCHAR(255) NOT NULL
);

CREATE TABLE `order` (
  id_order INT AUTO_INCREMENT PRIMARY KEY,
  order_name VARCHAR(255) NOT NULL,
  price INT CHECK (price > 0),
  amount INT CHECK (amount > 0),
  id_person INT NOT NULL,
  FOREIGN KEY (id_person) REFERENCES person (id_person)
);

Получение заказов для заданного чела:

SELECT `order`.*
FROM person
LEFT JOIN `order` USING (id_person)
WHERE person.person_name = 'Пупкин Василий Иванович';

https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=1af9fba4927663984915dfe98000ca39

→ Ссылка