使用 Python 解释并在 MySQL 中展示 UNION 的用法?


UNION 语句用于组合两个 SELECT 查询的结果,而不会重复重复的值。如果两个 SELECT 查询返回相同的行,则仅列出一次。

要在两个 select 语句上执行 UNION,

  • 返回的列数必须相同

  • 列的数据类型必须相同

  • 两个 select 语句必须按相同的顺序返回列。

语法

SELECT column_name FROM table1
UNION
SELECT column_name FROM table2

使用 Python 中的 MySQL 执行两个 select 查询联合的步骤

  • 导入 MySQL 连接器

  • 导入 MySQL 连接器

  • 使用 connect() 方法建立与连接器的连接

  • 使用 cursor() 方法创建游标对象

  • 使用适当的 mysql 语句创建查询

  • 使用 execute() 方法执行 SQL 查询

  • 关闭连接

假设有两个表,“Students” 和 “Department”,如下所示:

学生

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

部门

+----------+-----------------+
| Dept_id  | Department_name |
+----------+-----------------+
| 120      | CSE             |
| 121      | Mathematics     |
| 122      | Physics         |
+----------+-----------------+

我们将从这两个表中选择 Dept_id 并对结果执行联合。这将返回我们在两个表中存在的所有不同的 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 Dept_id FROM Students UNION SELECT Dept_id FROM Department"
cursor.execute(query)

rows=cursor.fetchall()
for row in rows:
   print(row)

db.close()

输出

120
121
125
123
122

更新于: 2021年6月10日

841 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告