С помощью каких ключевых слов SQL можно написать запрос на получение данных из таблицы?

«С помощью каких ключевых слов SQL можно написать запрос на получение данных из таблицы?» — вопрос из категории Базы данных и SQL, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Базовый запрос на выборку данных строится с помощью следующих ключевых слов:

SELECT column1, column2 -- Выбор столбцов
FROM table_name         -- Указание таблицы
WHERE condition;        -- Фильтрация строк

Основные ключевые слова и их назначение:

  • SELECT: Определяет, какие столбцы нужно вернуть. SELECT * возвращает все столбцы.
  • FROM: Указывает таблицу (или представление), из которой производится выборка.
  • WHERE: Задает условие для фильтрации строк. Использует операторы сравнения (=, >, <, <>, LIKE, IN, BETWEEN).

Расширенный запрос с дополнительными ключевыми словами:

SELECT 
    u.id, 
    u.name, 
    COUNT(o.id) AS order_count -- Агрегация
FROM users u                   -- Псевдоним таблицы
INNER JOIN orders o ON u.id = o.user_id -- Соединение таблиц
WHERE u.active = TRUE          -- Фильтрация
    AND u.registered_at > '2024-01-01'
GROUP BY u.id, u.name          -- Группировка для агрегатных функций
HAVING COUNT(o.id) > 5         -- Фильтрация групп
ORDER BY u.name ASC            -- Сортировка
LIMIT 20 OFFSET 0;             -- Пагинация
  • JOIN (INNER, LEFT, RIGHT, FULL): Для соединения данных из нескольких таблиц.
  • GROUP BY: Группирует строки для применения агрегатных функций (COUNT, SUM, AVG, MAX, MIN).
  • HAVING: Фильтрует результаты группировки (работает с агрегированными данными, в отличие от WHERE).
  • ORDER BY: Сортирует результирующий набор по указанным столбцам (ASC по возрастанию, DESC по убыванию).
  • LIMIT / OFFSET: Ограничивает количество возвращаемых строк и задает смещение, что используется для пагинации.