sql_skill_test

Тест SQL онлайн. Проверь запросы на PostgreSQL.

8 вопросов по выборкам, JOIN, NULL, агрегатам и оконным функциям. Выбери сложность и сразу узнай результат — без регистрации.

Доступные темы

  • Python
  • JavaScript
  • Linux
  • DevOps
  • Web
  • Networking
  • Git
  • SQL
skill-test.config

настройка теста

выбери сложность

Начни с лёгкого уровня, если недавно изучаешь тему. Более сложный тест можно пройти отдельной попыткой.

другие тесты →
сложность
Вопросов
8
На вопрос
35-60 сек
Проходной балл
75%

Загружаем настройки теста…

Бесплатно, без регистрации. В попытке 8 вопросов с таймером: паузы нет, выбранный ответ нельзя изменить. Баллы увидишь сразу; правильные ответы и разбор откроются после сохранения попытки в аккаунте.

Вопросов: 8 Проходной балл: 75%

что проверяем

Что проверяет тест по SQL

В банке 90 вопросов: 30 лёгких, 30 средних и 30 сложных. В одну попытку попадают 8 вопросов выбранного уровня.

демо

Примеры вопросов по SQL

Два вопроса из действующего банка: один на базовые знания, второй — на понимание деталей. Они показывают формат теста. Правильные ответы и объяснения доступны после сохранения полной попытки в аккаунте.

sql-easy-003.sql

Легко select

Что вернёт этот запрос?

SELECT id, amount FROM orders ORDER BY amount DESC LIMIT 3;
  1. Три самых дешёвых заказа
  2. Три самых дорогих заказа
  3. Все заказы, отсортированные по возрастанию суммы
  4. Три случайных заказа
sql-medium-003.sql

Средне joins · nulls

Почему этот запрос ведёт себя как INNER JOIN и теряет клиентов без оплаченных заказов?

SELECT c.name, o.id
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.id
WHERE o.status = 'paid';
  1. LEFT JOIN не работает, если в ON указана колонка правой таблицы
  2. У клиента без заказов o.status равен NULL, а условие NULL = 'paid' не проходит фильтр WHERE
  3. PostgreSQL автоматически заменяет LEFT JOIN на INNER JOIN, если есть WHERE
  4. Нужно писать LEFT OUTER JOIN: без слова OUTER соединение внутреннее

результат

Что означает результат

Лёгкий уровень проверяет чтение выборок и фильтров, средний — JOIN, агрегаты, даты и подзапросы, сложный — оконные функции, логический порядок выполнения и индексируемость условий. Порог — 6 из 8.

faq.md

Частые вопросы

Нужна ли регистрация, чтобы пройти тест?
Нет. Тест стартует по клику, ответы уходят анонимно, результат виден сразу на той же странице. Аккаунт нужен только если хочешь сохранить попытку: со страницы итогов заводишь его в один шаг, и результат подтягивается сам.
Сколько времени это займёт?
От пяти до восьми минут. В попытке 8 вопросов, а таймер зависит от сложности: 35 секунд на вопрос на лёгком уровне, 45 на среднем, 60 на сложном.
Какой результат считается пройденным?
75% — это 6 правильных ответов из 8. Балл и статус видно сразу и без аккаунта. Правильные ответы с объяснениями открываются после регистрации, вместе с сохранённой попыткой и бейджем в профиле.
Можно переиграть ответ или поставить таймер на паузу?
Нет. Ответ фиксируется в момент выбора, таймер не останавливается до конца вопроса. Так тест меряет то, что ты знаешь сейчас, а не то, что успел найти в соседней вкладке.
Какой диалект SQL используется в тесте?
PostgreSQL. В банке встречаются ILIKE, DISTINCT ON, date_trunc, особенности целочисленного деления, поведения NULL, CTE и B-tree индексов.