작성자: 17기 서지민
본 게시글은 datacamp의 Joining Data in SQL 강의를 기반으로 작성되었습니다.
- 사용자가 지정한 열을 기반으로 left table과 right table 양쪽에 모두 존재하는 행만 결합
- AS 로 table 이름을 간단하게 지정 가능
각 테이블에 일치하는 필드 지정
1) ON
- 각 테이블에 일치하는 필드의 이름이 다를 경우에도 사용가능
밑 예시의 경우 ) ON left_table.id = right_table.id
2) USING
- 각 테이블에 일치하는 필드의 이름이 같을 때만 사용 가능
- 밑 예시의 경우) USING (id)
- SELECT - FROM - INNER JOIN - ON/USING 의 순서대로 작성
1) One -to-many Relationship
- 가장 일반적인 관계
2) One-to-one Relationship
- 엔터티 간의 고유한 쌍
3) Many-to-many Relationship
1) 여러개의 JOIN 결합 가능
SELECT - FROM - INNER JOIN - ON/USING - INNER JOIN - ON/USING 의 순서로 작성
line 6의 left_table.id 는 right_table.id로도 작성 가능
2) 각 테이블에 중복 열이 존재하는 경우
multiple keywords를 지정함으로써 중복열을 해결할 수 있음
- 사용자가 지정한 열을 기반으로 left table에 존재하는 행을 모두 결합
- right table에 존재하지 않는 행의 경우 null로 처리
- 사용자가 지정한 열을 기반으로 right table에 존재하는 행을 모두 결합
- left table에 존재하지 않는 행의 경우 null로 처리
- Left Join과 Right Join은 항상 바뀌어 사용될 수 있다
--> Left Join이 사용자들에게 더 직관적으로 다가오기 때문에 Right Join은 덜 사용된다.
- Left Join과 Right Join의 결합
- left table과 right table에 존재하는 모든 행을 결합
- 각 table에 존재하지 않는 행은 null 처리된다
- 각 테이블의 가능한 모든 조합을 추출
- Cross Join 은 결합 키워드 지정 X
- 같은 테이블끼리 Join하는 경우
- 같은 테이블 내에서 특정 부분끼리 비교하고싶을 때 사용
[SQL 스터디_1팀] 5주차_강의노트 (2) (0) | 2023.05.02 |
---|---|
[SQL 스터디_1팀] 4주차_강의노트 (0) | 2023.04.02 |
[SQL 스터디_1팀] 2주차_강의노트 (0) | 2023.03.26 |
[SQL 스터디_2팀] 3주차 강의노트 / 프로그래머스 문제 풀이 (0) | 2023.03.23 |
[SQL 스터디_1팀] 1주차_OT (0) | 2023.03.16 |
댓글 영역