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' ')
일부 레코드에 대해 일치하는 레코드가 없더라도 두 테이블의 모든 레코드가 결과에 포함됩니다.