ТРЕНИРОВОЧНЫЙ ТЕСТТехнологии и программирование

Практика для теста по SQL

Бесплатный тренировочный тест по SQL: понятия SQL, результаты выполнения запроса, исправление неверного запроса и выбор правильного запроса. Тест составлен в стиле проверок SQL-навыков, которые проводят работодатели. К каждому ответу есть объяснение.

  • 10 бесплатных вопросов, регистрация не нужна
  • С таймером, как в реальном тесте
  • Отменить можно в любое время
Бесплатный образец
10 вопросов · 25 мин
Типы вопросов
Понятия SQL, Что возвращает запрос, Исправление запроса и не только
Полноформатные пробные тесты
Количество вопросов и ограничение времени в настоящем тесте

Краткий ответ

Тест по SQL - это короткая проверка, которую многие работодатели используют перед собеседованием на должность специалиста по данным, аналитика или разработчика, чтобы оценить, умеете ли вы читать, писать и исправлять запросы к базам данных. Единого теста по SQL не существует: каждый работодатель выбирает платформу, вопросы и ограничение по времени. Этот бесплатный тренировочный тест включает 10 оригинальных вопросов по стандартному SQL и занимает 25 минут.

Бесплатный образец
10 вопросов за 25 минут
Формат
Устанавливает каждый работодатель
Пример (HackerRank SQL Basic)
2 вопроса за 30 минут
Пример (TestGorilla MySQL)
15 вопросов за 10 минут
Общие зоны
Фильтрация, соединения, группировка, сортировка и NULL

Попробовать бесплатно

10 вопросов за 25 минут в реальном темпе. В конце вы увидите свой результат и объяснения к каждому ответу.

Загрузка тренировочных вопросов

Выберите свой тариф

Откройте полный доступ к тренировочным материалам

Тест по SQL: полноформатные пробные тесты с ограничением по времени и все остальные тесты

Выберите тариф
Оформить план Monthly
  • Полноформатные пробные тесты с ограничением по времени для этого теста
  • Пояснение к каждому вопросу
  • Ваш результат по типам вопросов и история попыток
  • Включены все тренировочные тесты: 93
  • Работает на телефоне и ноутбуке

Возврат средств в течение 7 дней, если вы прошли не более одного полноформатного пробного теста. Цены указаны в USD.

Что входит в полный пакет тренировочных материалов

Полноформатные пробные тесты в формате и с ограничением по времени, как в настоящем тесте. После каждого вас ждёт подробный разбор.

  1. БесплатноБесплатный образец10 вопросов · 25 мин
  2. Полноформатные пробные тестыКоличество вопросов и ограничение времени в настоящем тесте
  3. Все типы вопросовПонятия SQL, Что возвращает запрос, Исправление запроса и не только
  4. Подробный разборВаш результат по типам вопросов после каждого пробного теста
  5. История результатовВаш прогресс от попытки к попытке
  6. Телефон или ноутбукПрактикуйтесь, где бы вы ни были

Бесплатный пример или полная практика

ФункцияБесплатноПолный
Вопросы в стиле настоящего теста
Объяснение каждого ответа
Полноформатные пробные тесты с ограничением по времени
Результаты по типам вопросов
История результатов по пробным тестам
Все тренировочные тесты: 93

Бесплатное учебное пособие

Всё, что нужно знать о настоящем тесте, в коротких уроках.

Урок 1

Как обычно выглядит настоящий тест

Единого теста по SQL не существует. Каждый работодатель выбирает платформу для тестирования или составляет собственный тест и определяет количество вопросов, продолжительность и используемую базу данных. Лучший источник информации о вашем тесте - описание вакансии или приглашение на тестирование. Публичные примеры показывают, насколько тесты могут различаться:

  • Тесты навыков SQL на HackerRank. На сайте HackerRank указано, что тест навыков SQL (Basic) состоит из 2 вопросов за 30 минут и затрагивает такие темы, как простые запросы (HackerRank), а тест SQL (Intermediate) - из 2 вопросов за 35 минут и затрагивает такие темы, как сложные соединения (HackerRank). Работодатели, которые создают собственные тесты на HackerRank, могут добавлять вопросы по базам данных и выбирать, какие базы данных могут использовать кандидаты (HackerRank support).
  • Задание на написание запроса. TestGorilla описывает свой тест по программированию на SQLite как 30 минут на написание запроса для реалистичного сценария с использованием базы данных средней сложности. В тесте проверяются соединение и фильтрация данных, простые вычисления, сортировка, округление и исключение нерелевантных записей (TestGorilla).
  • Короткий тест на знание теории. На сайте TestGorilla указано, что тест по MySQL состоит из 15 вопросов за 10 минут, выбранных из банка из 101 вопроса (TestGorilla).

Темы, которые, как правило, встречаются в тестах по SQL:

  • Фильтрация и сортировка: SELECT, WHERE, ORDER BY и условия с AND, OR, IN и BETWEEN.
  • Соединения: внутренние и левые соединения, а также то, что происходит со строками без совпадений.
  • Группировка: GROUP BY с COUNT, SUM, AVG, MIN и MAX, а также HAVING для фильтрации групп.
  • NULL: поведение отсутствующих значений при сравнениях, подсчётах и вычислении средних значений.
  • Подзапросы: запрос внутри другого запроса, с IN, EXISTS или одним значением.
  • Написание запроса по обычному текстовому заданию. Часто оценивается, возвращает ли запрос именно ожидаемые строки.

Что входит в наши пробные тесты. Каждый полный пробный тест состоит из 18 вопросов за 45 минут и включает четыре раздела: концепции SQL (5), результат выполнения запроса (6), исправление запроса (4) и выбор правильного запроса (3). Вы можете возвращаться к вопросам и отмечать их флажком. Мы используем переносимый стандартный SQL, поэтому запросы работают одинаково в PostgreSQL, MySQL, SQL Server, SQLite и большинстве других баз данных. Наши пробные тесты учат читать и пошагово анализировать запросы, а также выбирать нужный вариант. Они не запускают запросы, которые вы пишете. Во многих реальных тестах по SQL нужно написать запрос, который проверяется по ожидаемым результатам. Используйте наши пробные тесты, чтобы развить необходимые для этого навыки чтения и пошагового анализа, а также самостоятельно пишите запросы в бесплатной базе данных, например SQLite.

Урок 2

Типы вопросов с примерами решений

По одному разобранному примеру для каждого раздела и типичная ошибка, в которую попадают многие.

1. Понятия SQL. В чём разница между COUNT() и COUNT(email)? COUNT() подсчитывает все строки; COUNT(email) - только строки, где email не равен NULL. Ловушка: считать, что при любом подсчёте учитываются все строки. Большинство агрегатных функций пропускают значения NULL.

2. Что возвращает запрос. В таблице scores значения 8, 5, NULL и 8. Что вернёт SELECT COUNT(DISTINCT score)? Различные значения, не равные NULL, - это 8 и 5, поэтому ответ: 2. Ловушка: считать NULL отдельным значением или дважды учитывать повторяющуюся 8. Запишите таблицу и вычёркивайте строки так, как это сделал бы запрос.

3. Исправление запроса. Запрос содержит WHERE city = 'Austin' OR city = 'Dallas' AND active = 1 и возвращает неактивных клиентов из Austin. AND выполняется раньше OR, поэтому условие фактически означает «Austin или активные клиенты из Dallas». Исправление - добавить скобки: WHERE (city = 'Austin' OR city = 'Dallas') AND active = 1. Ловушка: читать условие слева направо.

4. Выбор подходящего запроса. Нужно найти пять самых новых заказов. Какой вариант правильный: ORDER BY order_date DESC с ограничением в 5 строк или ORDER BY order_date с ограничением в 5 строк? Первый. Без DESC сортировка идёт от старых к новым, поэтому вы получите пять самых старых заказов. Ловушка: выбрать запрос, который выглядит правильным, не проверив направление сортировки. (В разных базах данных ограничение записывается по-разному, например LIMIT 5 или FETCH FIRST 5 ROWS ONLY. Проверьте, какой вариант используется в вашем тесте.)

5. Соединения с условиями. LEFT JOIN, за которым следует проверка в WHERE для столбца правой таблицы, незаметно превращается в INNER JOIN: у строк без совпадения в этом столбце стоит NULL, и проверка их исключает. Ловушка: не заметить, какие строки исчезают. Спросите себя: «Что произойдёт со строкой без совпадения?»

Урок 3

Как подготовиться

  1. Сначала прочитайте приглашение. Узнайте, какой платформой вы будете пользоваться, сколько времени у вас будет, нужно ли будет писать запросы или выбирать ответы из нескольких вариантов и какая база данных используется. Форматы слишком сильно различаются, чтобы что-либо предполагать.
  2. Разберитесь, в каком порядке выполняется запрос. Сначала FROM и JOIN, затем WHERE, GROUP BY, HAVING, SELECT и ORDER BY. Большинство вопросов «почему это неверно?» становятся понятнее, когда вы знаете, на каком этапе какие данные доступны.
  3. Разбирайте небольшие таблицы вручную. Запишите три или четыре строки, затем применяйте каждое условие по порядку. Это самый быстрый способ проверить ответ, а также выявить ловушки с NULL и дубликатами.
  4. Изучите NULL отдельно. Потренируйтесь использовать IS NULL, сравнивать COUNT(column) и COUNT(*), учитывать, что AVG пропускает NULL, разбираться с NOT IN, если в списке есть NULL, и понимать, какие значения попадают в незаполненные столбцы при левом соединении.
  5. Пишите и настоящие запросы. Наши пробные тесты развивают навыки чтения и разбора запросов. Также пишите запросы в бесплатной базе данных, например SQLite, чтобы набор текста в условиях ограниченного времени казался привычным. В некоторых тестах запрос проверяется на множестве случаев. Например, TestGorilla указывает, что в его тесте по SQLite используется более 10 тестовых случаев (TestGorilla).
  6. Проверяйте результат, а не только синтаксис. Запрос может выполниться, но вернуть не те строки. Перед отправкой подумайте, что произойдёт, если совпадений не будет, появятся дубликаты или значения NULL.
  7. Тренируйтесь в реальном темпе. Короткий тест на знания, например тест TestGorilla по MySQL: 15 вопросов за 10 минут, - это значительно меньше минуты на вопрос (TestGorilla). Пройдите полные пробные тесты на время, чтобы в день тестирования такой темп казался привычным.
Урок 4

Как обычно оценивают результаты

Оценка зависит от работодателя и платформы. Стандартной оценки за SQL и единого порога прохождения нет. Каждый работодатель сам решает, какой результат считать хорошим. Вот два опубликованных примера проверки запросов:

  • Задания по базам данных на HackerRank: HackerRank сообщает, что проверяет их автоматически, сравнивая результат вашего запроса с ожидаемым. Совпадение приносит полный балл, а любой другой результат - ноль, если только работодатель не проверит ответ вручную и не начислит часть баллов. Работодатель также может не учитывать порядок строк (поддержка HackerRank).
  • Тест SQLite от TestGorilla: TestGorilla сообщает, что кандидатов ранжируют по результатам более чем 10 тестовых случаев, проверяющих крайние случаи решения (TestGorilla).

Поскольку результаты часто проверяются построчно, почти правильный запрос, например запрос, который не учитывает клиента без заказов, может получить столько же баллов, сколько и отсутствие ответа.

Наш тренировочный результат - это количество наших заданий, на которые вы ответили правильно, с разбивкой по разделам. Так вы увидите, на чём стоит сосредоточиться. Это результат тренировки: он не является оценкой за тест работодателя или платформы и не предсказывает, пройдёте ли вы тест.

Урок 5

Типичные ошибки

  • Сравнение с NULL с помощью =. Используйте IS NULL и IS NOT NULL. Любое выражение вида = NULL имеет значение unknown, поэтому строка отфильтровывается.
  • Фильтрация левого соединения в WHERE. Условие по столбцам правой таблицы удаляет строки без совпадений. Если нужно сохранить их, добавьте это условие в ON.
  • Использование WHERE для итога. Агрегатные условия задаются в HAVING после GROUP BY.
  • Выбор столбца, который не входит в группировку. В стандартном SQL каждый выбранный столбец должен входить в группировку или использоваться в агрегатной функции. Некоторые базы данных выполняют такой запрос и выбирают значение за вас, скрывая ошибку.
  • Игнорирование дубликатов. При соединении строки могут повторяться, из-за чего значения SUM и COUNT увеличиваются. Проверьте, может ли одна строка с одной стороны соответствовать нескольким строкам с другой.
  • Использование особенностей одной базы данных. Некоторые функции и синтаксис ограничения количества строк различаются в разных базах данных. Изучите стандартный вариант и проверьте, какую базу данных использует ваш тест.

Оригинальные тренировочные вопросы, а не настоящие или утекшие. Вы можете отменить план Monthly в любое время и запросить возврат средств в течение 7 дней, если прошли не более одного полноформатного пробного теста.

Часто задаваемые вопросы

Есть ли один тест по SQL, который используют все работодатели?+

Нет. Каждый работодатель выбирает свою платформу, вопросы, время на выполнение и базу данных. Одни просят написать запросы, которые проверяются по ожидаемым результатам, другие предлагают вопросы с вариантами ответов. В приглашении должно быть указано, какой формат вас ждёт.

Какой диалект SQL мне изучать?+

Начните со стандартного SQL, который используется в наших вопросах, поскольку он работает в PostgreSQL, MySQL, SQL Server и SQLite. Затем проверьте приглашение: если в нём указана база данных, узнайте, как именно в ней задаются ограничения, даты и строковые функции.

Запускают ли ваши пробные тесты написанные мной запросы?+

Нет. В наших пробных тестах вы тренируетесь читать и отслеживать запросы, исправлять их и выбирать правильный вариант. Во многих реальных тестах нужно написать запрос, который проверяется по ожидаемым строкам, поэтому потренируйтесь также писать запросы в бесплатной базе данных, например SQLite.

Какой балл нужно набрать, чтобы сдать тест по SQL?+

Единого проходного балла нет. Каждый работодатель устанавливает свои требования, а некоторые проверяют ответы вручную. Стремитесь выполнить каждый запрос без ошибок: запрос, который возвращает даже немного неправильные строки, часто получает ноль баллов.

Эти вопросы взяты из тестов работодателей по SQL?+

Нет. Это оригинальные тренировочные задания, составленные нашей командой в похожем стиле. Intellect Council не связан с HackerRank (Interviewstreet, Inc.), TestGorilla, какими-либо платформами для тестирования или работодателями.

Источники

  1. Тест навыков HackerRank: SQL (базовый уровень), проверено 2026-11-09
  2. Тест навыков HackerRank: SQL (средний уровень), проверено 2026-11-09
  3. Поддержка HackerRank: вопросы для Database Engineer (оценивание вопроса по базам данных), проверено 2026-11-09
  4. TestGorilla: SQLite (программирование): тест по запросам в реальных ситуациях, проверено 2026-11-09
  5. TestGorilla: тест по MySQL, факты, проверено 2026-11-09

Об этой странице

Материал подготовлен и проверен командой Intellect Council. Последняя проверка . Прочитайте нашу редакционную политику.

Посмотреть все тренировочные тесты (93)

Полные пробные тесты на время с пояснениями.Получить полный доступ
СКОРО ТЕСТ. БУДЬТЕ ГОТОВЫ.

Будьте готовы к тесту.
Уходите с уверенностью, что сделали всё, что могли.

Тренируйтесь с таймером в формате реального теста и получайте объяснения к каждому ответу.

Начать бесплатный тренировочный тестИли посмотрите полные пробные тесты Бесплатный пробный тест. Для начала регистрация не нужна.