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

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

<시간/>

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

여기서는 두 테이블의 LEFT 조인에 대해 설명합니다. LEFT 조인을 사용하여 테이블을 조인할 수 있습니다. LEFT JOIN에서는 첫 번째 테이블이나 왼쪽 테이블의 모든 레코드가 항상 결과에 포함됩니다. 오른쪽 테이블에서 일치하는 레코드가 왼쪽 테이블의 레코드에 조인됩니다. 왼쪽 테이블의 행에 대해 일치하는 레코드가 없으면 해당 레코드와 None이 조인됩니다.

테이블은 일부 조건에 따라 조인됩니다. 그러나 왼쪽 테이블의 모든 레코드는 조건에 관계없이 항상 결과에 포함됩니다.

구문

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

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

학생

+----------+--------------+----------+| 아이디 | 학생이름 | 부서 ID |+----------+-------------+----------+| 1 | 라훌 | 120 || 2 | 로힛 | 121 || 3 | 키라트 | 125 || 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 LEFT 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', 없음)(4, 'Inder', 없음)

참고로 마지막 2개 행에 대해 일치하는 레코드가 없더라도 왼쪽 테이블의 모든 레코드가 결과에 포함됩니다.