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

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


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

ここでは、2つのテーブルでのSELF結合について説明します。

名前が示すように、SELF結合はテーブル自体との結合です。この結合は、同じテーブルの2つのコピー間で実行されます。テーブルの行は、特定の条件に基づいて、同じテーブルの他の行と照合されます。

構文

SELECT a.coulmn1 , b.column2
FROM table_name a, table_name b
WHERE condition;

aとbは同じテーブルの2つのエイリアスです。

table_nameは、自己結合が実行されるテーブルの名前です。自己結合を実行しているため、両方の場所で同じテーブル名が使用されています。

次のように「Students」という名前のテーブルがあるとします-

学生

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

条件a.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="your
password",database="database_name")

cursor=db.cursor()
query="SELECT a.Dept_id,b.Student_name FROM Students a, Students b
WHERE a.Dept_id<b.Dept_id"
cursor.execute(query)
rows=cursor.fetchall()
for x in rows:
   print(x)

db.close()

出力

Dept_id
Student_name
120
Rohit
120
キラト
120
インダー
121
インダー
121
インダー



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

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

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

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