Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonでMySQLを使用して2つのテーブルで完全結合を実行するにはどうすればよいですか?


SQLの2つのテーブルは、それらの間の共通の列に基づいて、または特定の条件に基づいて結合できます。 2つのSQLテーブルを結合するために使用できるJOINにはさまざまなタイプがあります。

ここでは、2つのテーブルでの完全結合について説明します。 FULL JOINでは、両方のテーブルのすべてのレコードが結果に含まれます。一致するレコードが見つからない場合は、両側にNULLが挿入されます。

構文

SELECT column1, column2...
FROM table_1
FULL JOIN table_2 ON condition;

次のように「Students」と「Department」の2つのテーブルがあるとします-

学生

+----------+--------------+-----------+
|    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を使用して2つのテーブルで完全結合を実行する手順

  • 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’)

一部のレコードに一致するレコードがない場合でも、両方のテーブルのすべてのレコードが結果に含まれていることに注意してください。


  1. Tensorflowを使用してPythonを使用して2つの行列を乗算するにはどうすればよいですか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。それは研究および生産目的で使用されます。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。 これは、NumPyと多次元配列を使用しているためです。これらの多次元配列は「テンソル」とも呼ばれます。フレームワークは、ディープニューラルネットワークの操作をサポートします。これは非常にスケーラブルであり、多くの一般的なデータセットが付属しています。 GPU計算を使用し、リソ

  2. Tensorflowを使用してPythonを使用して2つの行列を追加するにはどうすればよいですか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。それは研究および生産目的で使用されます。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。 これは、NumPyと多次元配列を使用しているためです。これらの多次元配列は「テンソル」とも呼ばれます。フレームワークは、ディープニューラルネットワークの操作をサポートします。これは非常にスケーラブルであり、多くの一般的なデータセットが付属しています。 GPU計算を使用し、リソ