Занятие 27. Практикум 7
⚡ Кратко: команды
LEFT JOIN ... ON ... WHERE ... IS NULL— поиск отсутствующих связей.WHERE id NOT IN (SELECT ...)— фильтрация через подзапрос.WITH имя AS (...) SELECT ...— табличное выражение.CREATE TEMPORARY TABLE имя AS SELECT ...— временная таблица.
🔖 Справочник операторов
Поиск строк без связи через LEFT JOIN
SELECT e.first_name, e.last_name
FROM employees AS e
LEFT JOIN employee_privileges AS ep ON e.id = ep.employee_id
WHERE ep.employee_id IS NULL;
Тот же поиск через подзапрос с NOT IN
SELECT first_name, last_name
FROM employees
WHERE id NOT IN (
SELECT employee_id FROM employee_privileges
);
Тот же поиск через CTE
WITH privileged AS (
SELECT employee_id FROM employee_privileges
)
SELECT first_name, last_name
FROM employees
WHERE id NOT IN (SELECT employee_id FROM privileged);
Фильтрация строк по условию с LIKE
SELECT *
FROM employees
WHERE first_name LIKE '%e%'
OR job_title = 'Sales Representative';
Временная таблица
CREATE TEMPORARY TABLE temp_customers AS
SELECT id, company
FROM customers
WHERE company IN ('A', 'B', 'C', 'D', 'F');
SELECT *
FROM temp_customers;
DROP TEMPORARY TABLE IF EXISTS temp_customers;
🔗 Полный справочник
Более полный каталог SQL-операторов курса — в справочнике SQL.