如何在Python中使用MySQL對兩個表執行右連線?
我們可以根據兩個表之間的公共列或某些指定條件在SQL中連線兩個表。有不同型別的JOIN可用於連線兩個SQL表。
這裡,我們將討論兩個表的RIGHT JOIN。在RIGHT JOIN中,第二個表或右表中的所有記錄始終包含在結果中。來自左表的匹配記錄將連線到右表的記錄。如果在右表中的一行中找不到匹配記錄,則將None與該記錄連線。
表根據某些條件連線。但是,無論條件如何,右表的所有記錄都將始終包含在結果中。
語法
SELECT column1, column2... FROM table_1 RIGHT 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 RIGHT 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’ , ‘Mathematics’) (None, ‘Physics’)
注意,即使最後一行沒有匹配的記錄,右表中的所有記錄都包含在結果中。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP