Изучал ли ты SQL на курсах или самостоятельно?

«Изучал ли ты SQL на курсах или самостоятельно?» — вопрос из категории Базы данных и SQL, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, изучал SQL как на специализированных курсах, так и самостоятельно. Владею основными конструкциями и применяю их в работе тестировщика.

Изученные темы:

  • DDL (Data Definition Language): CREATE, ALTER, DROP таблиц.
  • DML (Data Manipulation Language): SELECT, INSERT, UPDATE, DELETE.
  • Сложные запросы: Различные типы JOIN (INNER, LEFT, RIGHT, FULL), подзапросы, UNION.
  • Агрегация и группировка: GROUP BY с функциями COUNT(), SUM(), AVG(), MAX(), MIN() и фильтрацией HAVING.
  • Управление данными: Транзакции (BEGIN, COMMIT, ROLLBACK), индексы, ограничения (constraints).

Пример запроса для проверки данных в тесте:

-- Проверка количества заказов у активных пользователей
SELECT 
    u.id,
    u.email,
    COUNT(o.id) AS total_orders
FROM 
    users u
    LEFT JOIN orders o ON u.id = o.user_id
WHERE 
    u.is_active = TRUE
GROUP BY 
    u.id, u.email
HAVING 
    COUNT(o.id) >= 5
ORDER BY 
    total_orders DESC;

Опыт с СУБД: Работал с MySQL, PostgreSQL. Умею анализировать EXPLAIN-план запроса для базовой оптимизации.