[SQL] SQL 고득점 Kit - JOIN

Updated:


없어진 기록 찾기

  • left outer join
SELECT A.ANIMAL_ID, A.NAME 
FROM ANIMAL_OUTS A 
LEFT OUTER JOIN ANIMAL_INS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.ANIMAL_ID ASC;

있었는데요 없었습니다

SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_OUTS A, ANIMAL_INS B
WHERE A.ANIMAL_ID = B.ANIMAL_ID AND A.DATETIME < B.DATETIME
ORDER BY B.DATETIME ASC;

오랜 기간 보호한 동물(1)

SELECT A.NAME, A.DATETIME
FROM ANIMAL_INS A
LEFT OUTER JOIN ANIMAL_OUTS B 
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.DATETIME ASC
LIMIT 3;

보호소에서 중성화한 동물

SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME
FROM ANIMAL_OUTS A
LEFT OUTER JOIN ANIMAL_INS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.SEX_UPON_INTAKE != A.SEX_UPON_OUTCOME
ORDER BY A.ANIMAL_ID ASC;

정리

  • JOIN
    1. INNER JOIN : 내부조인 교집합
    2. LEFT/RIGHT JOIN : 부분집합 (A-B, B-A)
    3. FULL UTER JOIN
  • IN 연산자

참고

출처: 프로그래머스 SQL 고득점 Kit https://onejunu.tistory.com/19

Leave a comment