SA Шпаргалка

Все ответы в 2 клика

Продвинутый

Назовите все способы в SQL выбрать данные из первой таблицы, которых нет во второй.

Есть 3 основных способа найти "потеряшек":

1. LEFT JOIN + IS NULL (самый частый):

SELECT t1.* FROM table1 t1 
LEFT JOIN table2 t2 ON t1.id = t2.id
WHERE t2.id IS NULL;

2. NOT EXISTS (часто самый быстрый):
SELECT * FROM table1 t1 
WHERE NOT EXISTS (SELECT 1 FROM table2 t2 WHERE t1.id = t2.id);

3. NOT IN (опасно, если в table2 есть NULL значения):
SELECT * FROM table1 WHERE id NOT IN (SELECT id FROM table2);

Сложная тема? Разберём на мок-интервьюЗаписаться на менторство →

Другие вопросы темы «Сложные запросы»

Ещё вопросы раздела «SQL и БД»

Все вопросы раздела «SQL и БД»