Что такое SQL и зачем его спрашивают на собеседованиях
Определяйте SQL, DDL, DML, DCL и TCL, а также различие между SQL и реляционной системой управления базами данных.
«Что такое SQL и зачем его спрашивают на собеседованиях» — бесплатный урок Coding Interview Prep на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Coding Interview Prep, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Coding Interview Prep содержит 4 уроков всего.
Почему этот вопрос открывает собеседование
Почти каждое собеседование по SQL начинается с вопроса «Что такое SQL?» Это критерий отбора: хороший ответ объясняет, что такое SQL, с чем он работает и какие бывают типы его операторов. Давайте составим такой ответ.
Что на самом деле представляет собой SQL
SQL — это декларативный язык для реляционных баз данных: Вы описываете нужный результат, а движок сам определяет, как его получить. SQL работает с таблицами, состоящими из строк и столбцов.
SELECT name, salary
FROM employees
WHERE department = 'Engineering';SQL — не движок базы данных
Распространённая ловушка: SQL — это язык, а MySQL, Postgres и Oracle — это движки, которые его реализуют. Каждый из них добавляет поверх стандарта собственный диалект.
Четыре категории операторов
Собеседующие любят просить классифицировать операторы SQL. Есть четыре группы: DDL отвечает за структуру, DML — за данные, DCL — за разрешения, а TCL — за транзакции.
DDL: определение структуры
DDL задаёт структуру базы данных: CREATE, ALTER, DROP, TRUNCATE. Стоит упомянуть важную деталь: большинство операторов DDL автоматически выполняют COMMIT, поэтому их обычно нельзя отменить с помощью ROLLBACK.
CREATE TABLE employees (
id INTEGER PRIMARY KEY,
name VARCHAR(100) NOT NULL,
department VARCHAR(50),
salary NUMERIC(10,2)
);DML: изменение данных
DML изменяет строки внутри таблиц: INSERT, UPDATE, DELETE и SELECT. Безопасная формулировка: «SELECT — это DML только для чтения, который иногда выделяют в отдельную категорию DQL».
UPDATE employees
SET salary = salary * 1.10
WHERE department = 'Engineering';DCL: управление доступом
DCL управляет тем, кто и что может делать, с помощью всего двух команд: GRANT предоставляет привилегию, а REVOKE её отзывает. Это показывает, что Вы понимаете многопользовательскую природу базы данных.
GRANT SELECT, INSERT ON employees TO analyst_role;
REVOKE INSERT ON employees FROM analyst_role;TCL: управление транзакциями
TCL объединяет изменения в транзакции по принципу «всё или ничего»: BEGIN, COMMIT, ROLLBACK, SAVEPOINT. Ключевое слово здесь — атомарность: либо выполняется всё, либо не выполняется ничего.
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;Декларативный и процедурный подходы
Почему SQL называют декларативным? Вы задаёте нужный результат, а оптимизатор запросов сам выбирает способ его получить. SQL также ориентирован на множества: он обрабатывает целые наборы строк одновременно.
Практический пример: классификация операторов
Собеседующие часто дают Вам несколько операторов и просят их классифицировать. Приведённый ниже код показывает все четыре категории в действии, а также классическую ловушку: TRUNCATE удаляет данные, но относится к DDL.
Как уложить ответ в 30 секунд
Подготовьте чёткий 30-секундный ответ, который сможете произнести под давлением. Выделенное ниже определение охватывает исходный вопрос и несколько вероятных уточнений за один короткий ответ.
Быстрая проверка
Проверьте, насколько хорошо Вы разобрались в категориях операторов.
Итоги
Итак: SQL — это декларативный язык, ориентированный на множества, для работы с реляционными данными. Он делится на DDL, DML, DCL, TCL. Помните о ловушках: TRUNCATE относится к DDL, а SELECT — это DML только для чтения.
Часто задаваемые вопросы
Урок «Что такое SQL и зачем его спрашивают на собеседованиях» бесплатный?
Да — полный текст урока «Что такое SQL и зачем его спрашивают на собеседованиях» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Coding Interview Prep, подпишись на CoddyKit PRO. Курс Coding Interview Prep содержит 4 уроков всего.
Чему я научусь в уроке «Что такое SQL и зачем его спрашивают на собеседованиях»?
Определяйте SQL, DDL, DML, DCL и TCL, а также различие между SQL и реляционной системой управления базами данных. Ты практикуешь Coding Interview Prep с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Coding Interview Prep?
Предыдущий опыт не требуется. Coding Interview Prep на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Что такое SQL и зачем его спрашивают на собеседованиях»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Coding Interview Prep?
Да. Каждый урок Coding Interview Prep включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Что такое SQL и зачем его спрашивают на собеседованиях
- Логический порядок выполнения запроса
- Первичные и внешние ключи и ограничения
- Чтение схемы в условиях стресса