Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Giải thích và minh họa UNION trong MySQL dùng Python

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