Как объединить 2 SQL запроса в один?

Для объединения двух SQL запросов в один SQL запрос можно использовать операторы объединения данных (UNION, UNION ALL) и операторы объединения таблиц (JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN). Выбор конкретных операторов зависит от требований и логики запроса.

  1. Оператор UNION объединяет результаты двух или более SELECT запросов и исключает дубликаты строк:
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
  1. Оператор UNION ALL объединяет результаты двух или более SELECT запросов, включая все строки, включая возможные дубликаты:
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
  1. Оператор JOIN объединяет строки из двух таблиц на основе условия соединения. В данном примере используется INNER JOIN:
SELECT column1, column2 FROM table1
INNER JOIN table2 ON table1.column = table2.column;
  1. Операторы LEFT JOIN, RIGHT JOIN и FULL JOIN объединяют строки из двух таблиц с учетом условия соединения, но различаются в том, как они обрабатывают строки, которые не имеют соответствия в другой таблице.
  • LEFT JOIN выводит все строки из левой таблицы (table1) и соответствующие строки из правой таблицы (table2):
SELECT column1, column2 FROM table1
LEFT JOIN table2 ON table1.column = table2.column;
  • RIGHT JOIN выводит все строки из правой таблицы (table2) и соответствующие строки из левой таблицы (table1):
SELECT column1, column2 FROM table1
RIGHT JOIN table2 ON table1.column = table2.column;
  • FULL JOIN выводит все строки из обеих таблиц (table1 и table2):
SELECT column1, column2 FROM table1
FULL JOIN table2 ON table1.column = table2.column;

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