Что такое внешний ключ и чем он отличается от первичного?
Первичный ключ однозначно идентифицирует строку и не допускает NULL в своих компонентах.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
Первичный ключ однозначно идентифицирует строку и не допускает NULL в своих компонентах.
Читать ответWHERE отбирает строки до группировки, а HAVING — группы после неё, поэтому они не всегда взаимозаменяемы.
Читать ответROWNUMBER выдаёт каждой строке отдельный номер, RANK даёт одинаковый ранг равным значениям с пропусками, DENSERANK — без пропусков.
Читать ответTRUNCATE удаляет данные таблицы, сохраняя её определение, столбцы и структуру для дальнейшего использования.
Читать ответОсновные физические алгоритмы соединения — nested loop, hash join и merge join.
Читать ответИспользуйте LEFT JOIN с каталогом категорий и подставьте «Прочее» для отсутствующего соответствия, например через COALESCE.
Читать ответGROUP BY объединяет строки в группы и обычно уменьшает число строк результата.
Читать ответCOUNT() явно считает все строки, а форма COUNT() без аргумента поддерживается не во всех СУБД и может дать синтаксическую ошибку.
Читать ответУпрощённый логический порядок: FROM/JOIN → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → ограничение числа строк.
Читать ответОсновные виды соединений — INNER, LEFT, RIGHT, FULL OUTER и CROSS JOIN.
Читать ответВ логическом порядке SQL группировка и обычная агрегация выполняются до оконных функций.
Читать ответ