오늘 한일
- 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) 관계로 맺어져야 하고 이를 일대다 관계라고 한다.
'TIL' 카테고리의 다른 글
TIL#70(브라우저에 네이버 홈페이지 URL을 입력했을 때 일어나는 과정) (0) | 2024.08.14 |
---|---|
TIL#69(프로세스와 쓰레드) (0) | 2024.08.09 |
TIL#67(Primary Key, Foreign Key, ER 모델) (0) | 2024.08.09 |
TIL#66(이진 트리, 이진 검색 트리, 힙) (0) | 2024.08.02 |
TIL#65(Array와 LinkedList, Stack과 Queue) (0) | 2024.08.01 |