SQL join выборка по наличию результатов в 3-й таблице

Есть 3 таблицы - Заказы, адреса, задачи Orders (id, name) Locations(id, order_id, name) Tasks (id, location_id, name) У каждого заказа есть 2 адреса У каждого адреса есть задача

Выбрать все заказы, каждый адрес которого не имеет ни одной задачи

CREATE TABLE orders (id int, name varchar(10));
CREATE TABLE locations (id int, order_id int, name varchar(20));
CREATE TABLE tasks (id int, location_id int, name varchar(20));

INSERT INTO orders (id, name) VALUES (1, 'Or1'),(2, 'Or2'),(3, 'Or3'),(4, 'Or4');
INSERT INTO locations (id, order_id, name) VALUES
(1, 1, 'Loc1'), (2, 1, 'Loc2'),(3, 2, 'Loc3'),(4, 2, 'Loc4'),
(5, 3, 'Loc5'), (6, 3, 'Loc6'),(7, 4, 'Loc7'),(8, 4, 'Loc8');
INSERT INTO tasks (id, location_id, name) VALUES
(1, 1, 'Task1'), (2, 2, 'Task2'),(3, 3, 'Task3');

В результате должно быть: Заказ 3 and заказ 4 - в каждом адресе заказа нет задач

Заказ 1 - у всех адресов есть задачи, не должен попасть в результат Заказ 2 - у одного из адресов есть задача, не должен попасть в результат


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