Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 MySQL을 사용하여 두 테이블에서 자체 조인을 수행하는 방법은 무엇입니까?

<시간/>

SQL에서 두 테이블 사이의 공통 열을 기반으로 하거나 지정된 조건을 기반으로 두 테이블을 조인할 수 있습니다. 두 개의 SQL 테이블을 조인하는 데 사용할 수 있는 JOIN 유형이 다릅니다.

여기에서는 두 테이블의 SELF 조인에 대해 설명합니다.

이름에서 알 수 있듯이 SELF 조인은 테이블 자체와의 조인입니다. 이 조인은 동일한 테이블의 두 복사본 간에 수행됩니다. 테이블의 행은 일부 조건에 따라 동일한 테이블의 다른 행과 일치합니다.

구문

SELECT a.column1, b.column2FROM table_name a, table_name bWHERE 조건;

및 b는 동일한 테이블의 두 별칭입니다.

table_name은 자체 조인이 수행될 테이블의 이름입니다. 셀프 조인을 하고 있기 때문에 두 곳에서 같은 테이블 이름을 사용하고 있습니다.

다음과 같이 "학생"이라는 테이블이 있다고 가정합니다. -

학생

+----------+--------------+----------+| 아이디 | 학생이름 | 부서 ID |+----------+-------------+----------+| 1 | 라훌 | 120 || 2 | 로힛 | 121 || 3 | 키라트 | 121 || 4 | 인더 | 123화 

a.Dept_id

파이썬에서 MySQL을 사용하여 두 테이블에서 자체 조인을 수행하는 단계

  • MySQL 커넥터 가져오기

  • connect()를 사용하여 커넥터와 연결 설정

  • cursor() 메소드를 사용하여 커서 객체 생성

  • 적절한 mysql 문을 사용하여 쿼리 생성

  • execute() 메서드를 사용하여 SQL 쿼리 실행

  • 연결을 끊다

 mysql.connectordb=mysql.connector.connect(host="your host", user="your username", password="yourpassword",database="database_name")cursor=db.cursor()query=" 가져오기 SELECT a.Dept_id,b.Student_name FROM Students a, Students bWHERE a.Dept_id 

출력

Dept_id
Student_name
120
로힛
120
키라트
120
인더
121
인더
121
인더