Skip to content

WHERE, JOIN, ORDER BY и GROUP BY

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

1. WHERE

WHERE — это оператор, который используется для фильтрации записей в запросах. Он позволяет указать условия, которым должны соответствовать строки, чтобы быть включенными в результат.

Пример:

SELECT * FROM employees
WHERE department = 'Sales' AND salary > 50000;

В этом примере запрос выбирает всех сотрудников из таблицы employees, которые работают в отделе "Sales" и имеют зарплату выше 50,000.

2. JOIN

JOIN — это оператор, который используется для объединения строк из двух или более таблиц на основе связанных столбцов. Существует несколько типов соединений:

  • INNER JOIN: Возвращает строки, которые имеют совпадения в обеих таблицах.
  • LEFT JOIN (или LEFT OUTER JOIN): Возвращает все строки из левой таблицы и совпадающие строки из правой таблицы. Если совпадений нет, возвращаются NULL-значения для правой таблицы.
  • RIGHT JOIN (или RIGHT OUTER JOIN): Возвращает все строки из правой таблицы и совпадающие строки из левой таблицы. Если совпадений нет, возвращаются NULL-значения для левой таблицы.
  • FULL JOIN (или FULL OUTER JOIN): Возвращает строки, которые имеют совпадения в одной из таблиц. Если совпадений нет, возвращаются NULL-значения для обеих таблиц.

Пример:

SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;

В этом примере запрос выбирает имена сотрудников и названия их отделов, объединяя таблицы employees и departments по полю department_id.

3. ORDER BY

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

Пример:

SELECT * FROM employees
ORDER BY salary DESC;

В этом примере запрос выбирает всех сотрудников из таблицы employees и сортирует их по зарплате в порядке убывания.

4. GROUP BY

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

Пример:

SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;

В этом примере запрос выбирает количество сотрудников в каждом отделе, группируя результаты по столбцу department.

Заключение

  • WHERE используется для фильтрации данных.
  • JOIN используется для объединения данных из нескольких таблиц.
  • ORDER BY используется для сортировки результатов.
  • GROUP BY используется для группировки данных и выполнения агрегатных функций.

Эти конструкции являются основными инструментами для работы с данными в SQL и позволяют эффективно извлекать и анализировать информацию из реляционных баз данных.