如何在 Python 中使用 MySQL 对两个表执行完全连接?
我们可以基于两个表之间的公共列或基于某些指定条件在SQL中连接两个表。有不同类型的JOIN可用于连接两个SQL表。
在这里,我们将讨论两个表上的FULL连接。在FULLJOIN中,来自两个表的所有记录都包含在结果中。对于未找到匹配项的记录,在两侧插入NULL。
语法
SELECT column1, column2... FROM table_1 FULL JOIN table_2 ON condition;
让有两个表,“学生”和“部门”如下-
学生
+----------+--------------+-----------+ | id | Student_name | Dept_id | +----------+--------------+-----------+ | 1 | Rahul | 120 | | 2 | Rohit | 121 | | 3 | Kirat | 121 | | 4 | Inder | 123 | +----------+--------------+-----------+
部
+----------+-----------------+ | Dept_id | Department_name | +----------+-----------------+ | 120 | CSE | | 121 | Mathematics | | 122 | Physics | +----------+-----------------+
我们将根据两个表中通用的dept_id对上述表执行完全连接。
在python中使用MySQL对两个表执行完全连接的步骤
导入MySQL连接器
使用连接器建立连接connect()
使用cursor()方法创建游标对象
使用适当的mysql语句创建查询
使用execute()方法执行SQL查询
关闭连接
示例
import mysql.connector db=mysql.connector.connect(host="your host", user="your username", password="yourpassword",database="database_name") cursor=db.cursor() query="SELECT Students.Id,Students.Student_name,Department.Department_name FROM Students FULL JOIN Department ON Students.Dept_Id=Department.Dept_Id" cursor.execute(query) rows=cursor.fetchall() for x in rows: print(x) db.close()输出结果
(1, ‘Rahul’, ‘CSE’) (2, ‘Rohit’, ‘Mathematics’) (3, ‘Kirat’, ‘Mathenatics’) (4, ‘Inder’, None) (None, ‘Physics’)
请注意,即使某些记录没有匹配的记录,这两个表中的所有记录都包含在结果中。
热门推荐
10 医院探望朋友祝福语简短
11 毕业祝福语简短女朋友
12 春节虎年爸妈祝福语简短
13 儿童毕业祝福语 简短6
14 开工仪式横幅祝福语简短
15 孩子日常祝福语大全简短
16 清晨寄语诗句祝福语简短
17 结婚送亲认亲祝福语简短
18 虎年喝酒拜年祝福语简短