SQL тест онлайн для проверки знаний
SQL тест лучше проверяет навыки, когда нужно самостоятельно написать запрос, а не выбрать готовый вариант ответа. Практические задания помогают проверить SELECT, JOIN, группировки и другие темы перед SQL экзаменом.
Обновлено · Команда SQL Arena
Что потренируете
- Написание SQL без подсказок
- Работа в условиях таймера
- Проверка результата на скрытых данных
- Разбор ошибок после сессии
- Подтверждение уровня сертификатом
Пример задачи в тренажёре
Так выглядит задача в SQL Arena: условие, редактор, результат и схема базы.
Есть таблицы отделов и сотрудников. Для каждого отдела, где работают минимум два сотрудника, выведите название отдела department_name, количество сотрудников employee_count и среднюю зарплату avg_salary. Отсортируйте результат по средней зарплате от большей к меньшей, а при равенстве — по названию отдела.
SELECT d.department_name, COUNT(e.id) AS employee_count, ROUND(AVG(e.salary)) AS avg_salary FROM departments d JOIN employees e ON e.department_id = d.id GROUP BY d.id, d.department_name HAVING COUNT(e.id) >= 2 ORDER BY avg_salary DESC, d.department_name;
| # | department_name | employee_count | avg_salary |
|---|---|---|---|
| 1 | Platform | 2 | 87000 |
| 2 | Analytics | 2 | 70000 |
| 3 | Design | 2 | 60000 |
| 4 | Support | 2 | 49500 |
Есть таблицы отделов и сотрудников. Для каждого отдела, где работают минимум два сотрудника, выведите название отдела department_name, количество сотрудников employee_count и среднюю зарплату avg_salary. Отсортируйте результат по средней зарплате от большей к меньшей, а при равенстве — по названию отдела.
SELECT d.department_name, COUNT(e.id) AS employee_count, ROUND(AVG(e.salary)) AS avg_salary FROM departments d JOIN employees e ON e.department_id = d.id GROUP BY d.id, d.department_name HAVING COUNT(e.id) >= 2 ORDER BY avg_salary DESC, d.department_name;
SQL тест: разбор практического задания
Сначала определяем, какие таблицы нужны для ответа. Название отдела хранится в departments, а сотрудники и их зарплаты — в employees. Связь проходит через employees.department_id, поэтому запрос соединяет две таблицы по идентификатору отдела. На экзамене важно быстро увидеть эту зависимость в схеме, а не пытаться подбирать запрос по результату.
После JOIN строки группируются по отделу. COUNT(e.id) считает сотрудников внутри каждой группы, а AVG(e.salary) вычисляет среднюю зарплату. ROUND здесь делает итоговое значение удобным для чтения. Условие «минимум два сотрудника» относится уже к сформированной группе, поэтому используется HAVING, а не WHERE.
Последний шаг — однозначная сортировка. Сначала строки идут по avg_salary по убыванию. Вторым ключом указан department_name, чтобы даже при одинаковой средней зарплате порядок был предсказуемым. Это важно для задач с автоматической проверкой и заодно показывает привычку писать запрос полностью, а не останавливаться после получения похожего результата.
SQL экзамен может проверять как знание синтаксиса, так и способность получить правильный результат по заданной схеме данных. Практический формат полезен тем, что ошибка сразу проявляется в запросе: неверный JOIN меняет количество строк, неправильный GROUP BY — уровень агрегации, а WHERE и HAVING фильтруют данные на разных этапах. Если нужен сертификат по SQL онлайн, важно отдельно проверить условия конкретного экзамена: набор тем, ограничение времени, критерии прохождения и то, что именно подтверждает сертификат.
SELECT d.department_name, COUNT(e.id) AS employee_count, ROUND(AVG(e.salary)) AS avg_salary FROM departments d JOIN employees e ON e.department_id = d.id GROUP BY d.id, d.department_name HAVING COUNT(e.id) >= 2 ORDER BY avg_salary DESC, d.department_name;
| department_name | employee_count | avg_salary |
|---|---|---|
| Platform | 2 | 87000 |
| Analytics | 2 | 70000 |
| Design | 2 | 60000 |
| Support | 2 | 49500 |
Типичные ошибки в SQL тестах и на экзамене
Фильтровать COUNT через WHERE
WHERE применяется до группировки и не может отфильтровать результат COUNT для уже сформированных групп. Условие COUNT(e.id) >= 2 нужно писать в HAVING. Иначе запрос либо завершится ошибкой, либо придётся менять его логику.
Группировать только по названию
Два разных отдела теоретически могут иметь одинаковое название. Группировка по d.id и d.department_name сохраняет сущность отдела и не объединяет разные записи только потому, что текстовое название совпало.
Не задавать полный порядок строк
ORDER BY только по средней зарплате оставляет неопределённым порядок отделов с одинаковым значением. Второй ключ сортировки делает результат стабильным. На практической проверке это полезнее, чем рассчитывать на случайный порядок выдачи базы.
Справочник по теме
Подробные статьи с синтаксисом и примерами в справочнике SQL Arena.
Частые вопросы
Как пройти SQL тест онлайн?
Откройте задание, изучите схему таблиц и сформулируйте запрос, который должен вернуть требуемый результат. Практический тест полезнее проходить без подсказок, чтобы увидеть реальные пробелы.
Что проверяет SQL тест?
SQL тест может проверять SELECT, фильтрацию, сортировку, JOIN, агрегатные функции, GROUP BY, подзапросы и оконные функции. Набор тем зависит от уровня теста.
Как подготовиться к SQL экзамену?
Повторите основные конструкции и решайте задачи с ограничением времени. Особое внимание уделите темам, где правильный синтаксис ещё не гарантирует правильный набор строк: JOIN, NULL, агрегаты и оконные функции.
Чем практический SQL тест отличается от теста с вариантами ответов?
В практическом тесте нужно самостоятельно построить запрос и получить правильный результат. Такой формат проверяет умение применять SQL, а не только распознавать правильное определение или фрагмент кода.
Как получить сертификат по SQL онлайн?
Для этого нужно пройти онлайн-экзамен или сертификационный тест у сервиса, который выдаёт сертификат. Перед началом проверьте правила экзамена, темы, критерий прохождения и формат итогового подтверждения.
Пройдите SQL тест и проверьте свои знания
Если обычной практики уже мало, переходите к сертификационному экзамену. Там нужно решать реальные SQL-задачи под таймером, а результат подтверждается проверяемым сертификатом соответствующего уровня.
Перейти к экзамену