문제링크 🚩
https://school.programmers.co.kr/learn/courses/30/lessons/59044
📕 문제 접근 📕
LEFT JOIN, RIGHT JOIN
- 조인 사용 후 NULL 값만을 가져오고 3개만 출력한다.
LEFT JOIN
- 왼쪽(기준) 테이블의 모든 레코드를 포함하면서 오른쪽 테이블과 일치하는 레코드를 가져옵니다. 오른쪽 테이블에 일치하는 레코드가 없는 경우에도 왼쪽 테이블의 레코드는 결과에 포함됩니다. 이는 오른쪽 테이블의 데이터가 부족한 경우에도 왼쪽 테이블의 정보를 보존하면서 조인할 때 사용됩니다.
SELECT *
FROM 왼쪽_테이블
LEFT JOIN 오른쪽_테이블
ON 조인_조건;
RIGHT JOIN:
RIGHT JOIN은 RIGHT JOIN은 LEFT JOIN의 반대 개념으로, 오른쪽(기준) 테이블의 모든 레코드를 포함하면서 왼쪽 테이블과 일치하는 레코드를 가져옵니다. 왼쪽 테이블에 일치하는 레코드가 없는 경우에도 오른쪽 테이블의 레코드는 결과에 포함됩니다. 이는 왼쪽 테이블의 데이터가 부족한 경우에도 오른쪽 테이블의 정보를 보존하면서 조인할 때 사용됩니다.
SELECT *
FROM 왼쪽_테이블
RIGHT JOIN 오른쪽_테이블
ON 조인_조건;
💻 Code 💻
-- ANIMAL_INS 들어온 애들 ANIMAL_OUTS나간애들
-- 입양 못 간 친구들 중에 가장 오래 있었던 친구들 출력하는데 3명만
SELECT ANIMAL_INS.NAME, ANIMAL_INS.DATETIME
FROM ANIMAL_OUTS
RIGHT JOIN ANIMAL_INS
ON ANIMAL_INS.ANIMAL_ID = ANIMAL_OUTS.ANIMAL_ID -- 나간애들 기준으로 아이디를 출력 만약에 들어왔는데 안나갔으면 널로 출력이 된다.
WHERE ANIMAL_OUTS.ANIMAL_ID IS NULL -- ANIMAL_OUTS 기준으로 널로 표시된 애들만 불러오겠다
ORDER BY ANIMAL_INS.DATETIME
LIMIT 3;
'SQL' 카테고리의 다른 글
[프로그래머스] SQL -SUM, COUNT, DISTINCT, GROUPY BY (0) | 2023.08.09 |
---|---|
[프로그래머스] 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2023.08.08 |
[프로그래머스] 서울에 위치한 식당 목록 출력하기 (1) | 2023.08.07 |