Как объединить 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;

2. Оператор UNION ALL объединяет результаты двух или более SELECT запросов, включая все строки, включая возможные дубликаты:

SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;

3. Оператор JOIN объединяет строки из двух таблиц на основе условия соединения. В данном примере используется INNER JOIN:

SELECT column1, column2 FROM table1
INNER JOIN table2 ON table1.column = table2.column;

4. Операторы 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 запросов позволяет совмещать данные из разных таблиц или результаты различных запросов в единую выборку данных. В выборе подходящего метода объединения важно учесть требования и логику конкретной задачи.