본문 바로가기

TIL

TIL#68(SQL JOIN)

오늘 한일
  • JOIN
    SQL에서 여러 테이블을 결합하여 데이터를 조회할 때 사용하는 연산이다. 여러 테이블에서 데이터를 연결해 하나의 결과로 가져오는 데 사용되며, 다양한 유형의 JOIN이 있다.


    1. INNER JOIN
    - 정의 : INNER JOIN은 두 테이블 간의 공통된 부분만을 결합하여 조회한다. 두 테이블에서 일치하는 레코드(즉, 조인 조건에 부합하는 레코드)만 결과에 포함된다.
    - 예시 : 학생(Student) 테이블과 수강(Enrollment) 테이블을 INNER JOIN으로 결합하면 수강을 신청한 학생들만 결과에 포함됩니다. 수강하지 않은 학생이나 등록된 학생이 아닌 수강 정보는 제외된다.

    2. LEFT JOIN
    - 정의 : LEFT JOIN은 왼쪽 테이블(첫 번째 테이블)의 모든 레코드를 포함하며 오른쪽 테이블(두 번째 테이블)에서 일치하는 레코드가 없으면 NULL 값이 채워진다.
    - 예시 :  학생(Student) 테이블과 수강(Enrollment) 테이블을 LEFT JOIN으로 결합하면 모든 학생 정보가 표시되고 수강 정보가 없는 학생의 경우 수강 관련 컬럼이 NULL로 표시된다.

    3. RIGHT JOIN
    - 정의 : RIGHT JOIN은 오른쪽 테이블(두 번째 테이블)의 모든 레코드를 포함하며 왼쪽 테이블(첫 번째 테이블)에서 일치하는 레코드가 없으면 NULL 값이 채워진다.
    - 예시 : 수강(Enrollment) 테이블과 학생(Student) 테이블을 RIGHT JOIN으로 결합하면 모든 수강 정보가 표시되고 수강 정보에 해당하는 학생 정보가 없으면 학생 관련 컬럼이 NULL로 표시된다.

    4. FULL JOIN
    - 정의 : FULL JOIN은 두 테이블의 모든 레코드를 결합하여 결과에 포함시킨다. 두 테이블 간에 일치하는 레코드가 있으면 그 값을 포함하고 한쪽 테이블에만 존재하는 레코드의 경우 다른 테이블의 값은 NULL로 표시된다.
오늘의 TIP
  • 두 테이블의 조인을 위해서는 기본키(PRIMARY KEY, PK)와 외래키(FOREIGN KEY, FK) 관계로 맺어져야 하고 이를 일대다 관계라고 한다.