← Назад к вопросам

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

2.3 Middle🔥 121 комментариев
#Базы данных и SQL

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Основные ключевые слова SQL для выборки данных из таблицы

Для получения данных из таблицы в SQL (Structured Query Language) используется оператор SELECT, который является фундаментальным и обязательным ключевым словом для выполнения запросов на выборку. В сочетании с другими ключевыми словами он позволяет гибко и точно извлекать нужную информацию из базы данных. Вот основные ключевые слова, используемые в запросе SELECT.

Ключевое слово SELECT и минимальный запрос

Оператор SELECT указывает, какие столбцы данных нужно извлечь. Минимальный запрос включает SELECT и FROM.

SELECT * FROM имя_таблицы;

Здесь * означает выбор всех столбцов таблицы, а FROM указывает источник данных.

Ключевое слово FROM

FROM является обязательным (кроме некоторых случаев, например, выборки констант) и определяет таблицу или представление, из которого берутся данные.

SELECT столбец1, столбец2 FROM имя_таблицы;

Ключевое слово WHERE

WHERE используется для фильтрации строк по определённому условию. Оно позволяет выбирать только те записи, которые удовлетворяют заданному критерию.

SELECT * FROM сотрудники WHERE зарплата > 50000;

Ключевое слово ORDER BY

ORDER BY сортирует результат запроса по указанным столбцам в порядке возрастания (ASC, по умолчанию) или убывания (DESC).

SELECT имя, фамилия FROM сотрудники ORDER BY фамилия DESC;

Ключевое слово GROUP BY

GROUP BY группирует строки, имеющие одинаковые значения в указанных столбцах, и часто используется с агрегатными функциями (SUM, AVG, COUNT, MAX, MIN).

SELECT отдел, AVG(зарплата) FROM сотрудники GROUP BY отдел;

Ключевое слово HAVING

HAVING фильтрует группы, созданные GROUP BY, аналогично тому, как WHERE фильтрует отдельные строки. Оно применяется после группировки.

SELECT отдел, COUNT(*) FROM сотрудники GROUP BY отдел HAVING COUNT(*) > 5;

Ключевое слово DISTINCT

DISTINCT устраняет дубликаты строк из результатов запроса, возвращая только уникальные значения.

SELECT DISTINCT город FROM клиенты;

Ключевое слово LIMIT / FETCH FIRST / TOP

Эти ключевые слова ограничивают количество возвращаемых строк. Конкретный синтаксис зависит от СУБД:

  • LIMIT используется в MySQL, PostgreSQL, SQLite.
  • FETCH FIRST — стандартный SQL, поддерживается в Oracle, PostgreSQL, DB2.
  • TOP применяется в Microsoft SQL Server.
-- Для MySQL/PostgreSQL
SELECT * FROM заказы LIMIT 10;

-- Стандартный SQL
SELECT * FROM заказы FETCH FIRST 10 ROWS ONLY;

-- Для SQL Server
SELECT TOP 10 * FROM заказы;

Ключевые слова JOIN

Для объединения данных из нескольких таблиц используются различные типы JOIN:

  • INNER JOIN (или просто JOIN): возвращает строки, имеющие соответствия в обеих таблицах.
  • LEFT JOIN: возвращает все строки из левой таблицы и соответствующие из правой; если соответствий нет, возвращает NULL.
  • RIGHT JOIN: аналогично LEFT JOIN, но для правой таблицы.
  • FULL JOIN: возвращает все строки, когда есть соответствие в левой или правой таблице.
SELECT сотрудники.имя, отделы.название 
FROM сотрудники 
INNER JOIN отделы ON сотрудники.отдел_id = отделы.id;

Практический пример комплексного запроса

SELECT 
    отделы.название AS отдел, 
    COUNT(сотрудники.id) AS число_сотрудников, 
    AVG(сотрудники.зарплата) AS средняя_зарплата
FROM 
    сотрудники 
    INNER JOIN отделы ON сотрудники.отдел_id = отделы.id
WHERE 
    сотрудники.дата_найма > '2023-01-01'
GROUP BY 
    отделы.название
HAVING 
    COUNT(сотрудники.id) >= 2
ORDER BY 
    средняя_зарплата DESC
LIMIT 5;

Важные замечания

  • Порядок ключевых слов в SQL-запросе строго определён: SELECTFROMWHEREGROUP BYHAVINGORDER BYLIMIT.
  • Псевдонимы (алиасы), задаваемые через AS, улучшают читаемость запросов, особенно при работе с вычисляемыми полями или длинными именами таблиц.
  • Понимание этих ключевых слов критически важно для QA Automation инженера, так как тестирование часто включает проверку корректности данных, интеграционное тестирование баз данных и написание сложных запросов для подготовки тестовых данных или верификации результатов.

Для эффективной автоматизации тестирования, связанного с базами данных, необходимо уверенное владение не только базовым SELECT ... FROM, но и продвинутыми конструкциями с JOIN, GROUP BY и фильтрацией, что позволяет создавать точные и воспроизводимые проверки данных в тестовых сценариях.