Запросы (CRUD) 😕 база
Что делает SELECT?
Достаёт данные из таблицы — выбираешь нужные столбцы и строки.
Запросы (CRUD) 😕 база
Какие четыре базовые операции с данными в SQL?
SELECT (читать), INSERT (добавить), UPDATE (изменить), DELETE (удалить).
Запросы (CRUD) 🤓 уверенно
Как выбрать все записи из таблицы employees?
SELECT * FROM employees;
Запросы (CRUD) 🤓 уверенно
Как изменить зарплату сотрудника с id 100 на 5000?
UPDATE employees SET salary = 5000 WHERE id = 100;
Запросы (CRUD) 🧐 глубоко
Как выбрать сотрудников с зарплатой выше средней по компании?
Запросы (CRUD) 🧐 глубоко
Как одной командой добавить сотрудника с именем, должностью и зарплатой?
Запросы (CRUD) 😎 про
Как выбрать сотрудников с зарплатой выше средней по их отделу?
Запросы (CRUD) 😎 про
Как удалить сотрудников без активности за последние 6 месяцев?
JOIN 😕 база
Зачем нужен JOIN простыми словами?
Чтобы соединить данные из двух таблиц — например, заказы с именами клиентов.
JOIN 😕 база
Что значит «связать таблицы по ключу»?
У одной таблицы есть id, у другой — ссылка на него; JOIN сопоставляет строки по этому совпадению.
JOIN 🤓 уверенно
Чем INNER JOIN отличается от OUTER JOIN?
INNER оставляет только совпавшие строки обеих таблиц; OUTER добавляет и несовпавшие, подставляя NULL.
JOIN 🤓 уверенно
Для чего нужен LEFT JOIN?
Берёт все строки левой таблицы и подставляет совпадения из правой; где совпадения нет — NULL.
JOIN 🧐 глубоко
Какие типы OUTER JOIN существуют?
JOIN 🧐 глубоко
Как соединить таблицы без JOIN, другими конструкциями?
JOIN 😎 про
Как сделать FULL OUTER JOIN, если СУБД его не поддерживает?
JOIN 😎 про
Чем NATURAL JOIN отличается от INNER JOIN?
Транзакции и ACID 😕 база
Что такое транзакция простыми словами?
Группа операций по принципу «всё или ничего»: либо все успешно, либо откат — как перевод денег между счетами.
Транзакции и ACID 😕 база
Зачем нужны транзакции?
Чтобы данные не остались в «половинчатом» состоянии при сбое — например, деньги списались, но не зачислились.
Транзакции и ACID 🤓 уверенно
Что означает ACID?
Atomicity (всё-или-ничего), Consistency (согласованность), Isolation (изоляция параллельных транзакций), Durability (сохранность после коммита).
Транзакции и ACID 🤓 уверенно
Что такое уровни изоляции в двух словах?
Настройка, насколько параллельные транзакции видят промежуточные изменения друг друга — компромисс между корректностью и скоростью.
Транзакции и ACID 🧐 глубоко
Чем READ UNCOMMITTED отличается от READ COMMITTED?
Транзакции и ACID 🧐 глубоко
Как уровень SERIALIZABLE влияет на выполнение транзакций?
Транзакции и ACID 😎 про
Как реализовать оптимистичную блокировку?
Транзакции и ACID 😎 про
Как обеспечить атомарность параллельных транзакций без потери скорости?
Индексы 😕 база
Зачем нужны индексы простыми словами?
Как алфавитный указатель в книге — ускоряют поиск строк, чтобы БД не читала всю таблицу.
Индексы 😕 база
Есть ли минус у индексов?
Да — они занимают место и замедляют вставку/обновление, потому что индекс тоже нужно обновлять.
Индексы 🤓 уверенно
Чем кластеризованный индекс отличается от некластеризованного?
Кластеризованный задаёт физический порядок строк в таблице (один на таблицу); некластеризованный — отдельная структура со ссылками на строки.
Индексы 🤓 уверенно
Когда индекс реально помогает?
Когда часто ищешь, фильтруешь или сортируешь по столбцу с большим разнообразием значений.
Индексы 🧐 глубоко
Плюсы и минусы индексов; как проектировать составной индекс?
Индексы 🧐 глубоко
Какие структуры используются для хранения индексов?
Индексы 😎 про
Чем B-дерево-индекс отличается от хеш-индекса и когда что брать?
Индексы 😎 про
Как индекс по функции (например lower()) влияет на запросы?