Câu lệnh UNION kết hợp kết quả hai truy vấn SELECT không lặp giá trị trùng. Nếu cả hai SELECT trả về cùng hàng, chỉ liệt kê một lần.
Điều kiện UNION:
- Số cột trả về phải bằng nhau.
- Kiểu dữ liệu cột phải giống nhau.
- Thứ tự cột phải giống nhau.
Cú pháp
SELECT column_name FROM table1 UNION SELECT column_name FROM table2
Các bước thực hiện UNION trong Python với MySQL
- Import MySQL connector.
- Thiết lập kết nối
connect(). - Tạo cursor
cursor(). - Tạo query UNION.
- Thực thi
execute(). - Đóng kết nối.
Giả sử hai bảng Students và Department:
Students: +----+--------------+---------+ | id | Student_name | Dept_id | +----+--------------+---------+ | 1 | Rahul | 120 | | 2 | Rohit | 121 | | 3 | Kirat | 125 | | 4 | Inder | 123 | +----+--------------+---------+ Department: +---------+-----------------+ | Dept_id | Department_name | +---------+-----------------+ | 120 | CSE | | 121 | Mathematics | | 122 | Physics | +---------+-----------------+
SELECT Dept_id từ cả hai bảng và UNION → lấy tất cả Dept_id duy nhất.
Ví dụ
import mysql.connector
db = mysql.connector.connect(host="your host", user="your username",
password="your password", database="database_name")
cursor = db.cursor()
query = "SELECT Dept_id FROM Students UNION SELECT Dept_id FROM Department"
cursor.execute(query)
rows = cursor.fetchall()
for row in rows:
print(row)
db.close()
Kết quả
120 121 125 123 122