如何在 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 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短