如何在 Python 中使用 MySQL 在两个表上执行自连接?
我们可以基于两个表之间的公共列或基于某些指定条件在SQL中连接两个表。有不同类型的JOIN可用于连接两个SQL表。
在这里,我们将讨论两个表上的SELF连接。
顾名思义,SELFjoin是与表本身的连接。此连接在同一表的两个副本之间执行。表的行根据某些条件与同一表的其他行匹配。
语法
SELECT a.coulmn1 , b.column2 FROM table_name a, table_name b WHERE condition;
a和b是同一个表的两个别名。
table_name是要在其上执行自连接的表的名称。由于我们正在执行自联接,因此在两个地方都使用相同的表名。
让有一个名为“学生”的表格如下-
学生
+----------+--------------+-----------+ | id | Student_name | Dept_id | +----------+--------------+-----------+ | 1 | Rahul | 120 | | 2 | Rohit | 121 | | 3 | Kirat | 121 | | 4 | Inder | 123 | +----------+--------------+-----------+
我们将根据条件a.Dept_id 导入MySQL连接器 使用连接器建立连接connect() 使用cursor()方法创建游标对象 使用适当的mysql语句创建查询 使用execute()方法执行SQL查询 关闭连接在python中使用MySQL对两个表执行自连接的步骤
示例
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