Продвинутый
Назовите все способы в 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);