Как работает UNION
Python
Junior
Без компании
Как работает UNION
Ответы
`UNION` в Python (обычно в контексте SQL-запросов через библиотеки типа `sqlite3` или `SQLAlchemy`) объединяет результаты двух или более SELECT-запросов в один набор данных, **удаляя дубликаты**.
Ключевые особенности:
- Запросы должны иметь **одинаковое количество столбцов**
- Соответствующие столбцы должны быть **совместимых типов**
- Результат сортируется по первому столбцу, если не указан `ORDER BY`
Пример:
```
import sqlite3
conn = sqlite3.connect(':memory:')
cursor = conn.cursor()
# Создаем таблицы и данные
cursor.execute("CREATE TABLE table1 (id INT, name TEXT)")
cursor.execute("INSERT INTO table1 VALUES (1, 'Alice'), (2, 'Bob')")
cursor.execute("CREATE TABLE table2 (id INT, name TEXT)")
cursor.execute("INSERT INTO table2 VALUES (2, 'Bob'), (3, 'Charlie')")
# UNION запрос
cursor.execute("SELECT id, name FROM table1 UNION SELECT id, name FROM table2")
print(cursor.fetchall()) # [(1, 'Alice'), (2, 'Bob'), (3, 'Charlie')]
```
Для включения дубликатов используйте `UNION ALL`.