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

Python에서 MySQL을 사용하여 두 테이블에서 어떻게 전체 조인을 수행할 수 있습니까?

<시간/>

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

여기서는 두 테이블의 FULL 조인에 대해 설명합니다. FULL JOIN에서는 두 테이블의 모든 레코드가 결과에 포함됩니다. 일치하는 항목이 없는 레코드의 경우 양쪽에 NULL이 삽입됩니다.

구문

SELECT column1, column2...FROM table_1FULL JOIN table_2 ON 조건;

다음과 같이 "Students" 및 "Department"라는 두 개의 테이블이 있다고 가정합니다. −

학생

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

부서

+----------+-----------------+| 부서 아이디 | Department_name |+----------+-----------------+| 120 | CSE || 121 | 수학 || 122 | 물리학 |+----------+-----------------+

두 테이블에서 공통인 dept_id를 기반으로 위의 테이블에 대해 전체 조인을 수행합니다.

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

  • MySQL 커넥터 가져오기

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

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

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

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

  • 연결을 끊다

예시

 import mysql.connectordb=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_nameFROM 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' ')

일부 레코드에 대해 일치하는 레코드가 없더라도 두 테이블의 모든 레코드가 결과에 포함됩니다.