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

Thực hiện SELF JOIN trên hai bảng MySQL bằng Python


Giới thiệu SELF JOIN

SELF JOIN là phép nối bảng với chính bản thân nó. Thực hiện giữa hai bản sao của cùng một bảng. Các hàng được so khớp với các hàng khác của cùng bảng dựa trên điều kiện.

Cú pháp

SELECT a.cot1, b.cot2 FROM ten_bang a, ten_bang b WHERE dieu_kien;
  • a, b: hai bí danh (alias) của cùng một bảng.
  • ten_bang: tên bảng thực hiện SELF JOIN.

Các bước thực hiện

  1. Import mysql.connector
  2. Thiết lập kết nối bằng connect()
  3. Tạo đối tượng con trỏ qua cursor()
  4. Viết truy vấn SELF JOIN
  5. Thực thi truy vấn bằng execute()
  6. Đóng kết nối

Ví dụ minh họa

Bảng Students:

+----------+--------------+-----------+
| id       | Student_name | Dept_id   |
+----------+--------------+-----------+
| 1        | Rahul        | 120       |
| 2        | Rohit        | 121       |
| 3        | Kirat        | 121       |
| 4        | Inder        | 123       |
+----------+--------------+-----------+

Thực hiện SELF JOIN với điều kiện a.Dept_id < b.Dept_id:

import mysql.connector

db = mysql.connector.connect(
    host="your_host",
    user="your_username",
    password="your_password",
    database="database_name"
)
cursor = db.cursor()
query = "SELECT a.Dept_id, b.Student_name FROM Students a, Students b WHERE a.Dept_id < b.Dept_id"
cursor.execute(query)
rows = cursor.fetchall()
for x in rows:
    print(x)
db.close()

Kết quả

Dept_idStudent_name
120Rohit
120Kirat
120Inder
121Inder
121Inder