Как написать запрос, используя две таблицы и вспомогательную таблицу? - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть таблица:

table1:

CREATE TABLE product(
product_id INT AUTO_INCREMENT NOT NULL,
name VARCHAR (30),
price DECIMAL(20),
PRIMARY KEY (product_id)
);

table2:

CREATE TABLE people(
people_id INT AUTO_INCREMENT NOT NULL,
adress_id INT,
name VARCHAR (20),
lastName VARCHAR (20),
email VARCHAR (50),
PRIMARY KEY (people_id ),
);

вспомогательный стол:

CREATE TABLE buy (
people_id INT,
product_id int,
productAmount INT,
PRIMARY KEY (people_id , product_id)
);

У меня естьнаписать запрос:

Выберите всех людей, которым НЕ нужно покупать продукты.

Ответы [ 4 ]

3 голосов
/ 30 сентября 2019
SELECT * FROM people
LEFT JOIN buy ON people.people_id = buy.people_id
WHERE buy.people_id IS NULL
GROUP BY people.people_id

Приветствия

1 голос
/ 30 сентября 2019

Вы можете использовать

Select * From People Where people_id not in (Select people_id from buy);
0 голосов
/ 01 октября 2019

Любой запрос.

select * from people a
where not exists (
  select 1 from buy x where x.people_id = a.people_id
)
0 голосов
/ 30 сентября 2019

Вы можете использовать:

выбрать * из людей, у которых people_id нет (выберите отдельный people_id из покупки);

...