- JOIN: 두 개 이상의 테이블을 연결해 데이터를 출력하는 것
(* 다만 한가지 주의 할 점 : FROM 절에 여러 테이블이 나열되더라도 SQL에서 데이터를 처리할 때는 단 두개의 집합 간의 조인이 일어난다. FROM 절에서 3개의 테이블이 나열된다해도 특정 2개의 테이블만 먼저 조인 처리되고, 조인의 결과인 중간 데이터 집합과 남은 한개의 테이블이 다음 차례로 조인되는 것)
조인 수행 시 먼저 표기된 좌측 테이블에 해당하는 데이터를 먼저 읽어온 후 나중 표기 된 우측의 테이블에서 조인 대상 데이터를 읽어 온다.
즉 테이블 A,B 가 있을 경우 (이 때의 기준은 table A) 두 테이블을 비교해서 B인 조인 컬럼에서 조인 조건을 만족하는 값이 있으면 해당 로우의 데이터를 가져오고 조인 조건을 만족하는 값이 없는 경우에는 B 테이블에서 가져오는 칼럼들은 null 값으로 채운다. 그리고 left join 에서 outer은 생략하여 사용할 수 있다.
예시
프로그래머스 sql 코딩테스트 Join '없어진 기록 찾기'
문제 : 천재지변으로 인해 일부 데이터가 유실되었다. 입양을 간 기록은 있는데(ANIMAL_OUTS) 보호소에 들어온 기록이 없는 동물의 ID 와 이름을 ID 순으로 조회 하는 SQL문을 작성해주세요
답:
SELECT OUTS.ANIMAL_ID , OUTS.NAME
FROM ANIMAL_OUTS (as) OUTS (기준은 TABLE A => ANIMAL_OUTS)
LEFT OUTER JOIN ANIMAL_INS (AS) INS
ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.ANIMAL_ID is null
ORDER BY OUTS.ANIMAL_ID
'sql' 카테고리의 다른 글
join 의 유형 (0) | 2023.06.06 |
---|---|
DBMS 란? (0) | 2023.03.13 |
Workbench 를 이용한 MySQL 서버 접속 (0) | 2022.09.29 |
Mysql 설치 및 설정 (0) | 2022.09.29 |
Database_Mysql (0) | 2022.09.29 |