문제 출처: https://programmers.co.kr/learn/courses/30/lessons/59413
데이터에는 7시부터 19시까지 데이터 밖에 없기 때문에 0 ~ 6시, 20시 ~ 23시까지 출력하기 위해서는 LEFT JOIN을 사용해야 했습니다.
여태까지는 INNER JOIN만 사용했는데 INNER JOIN의 경우 양 테이블 간의 교집합만 추려내는 반면 LEFT JOIN의 경우에는 첫 번째 테이블은 그대로 있으면서 양 테이블 간의 교집합을 추려낸다고 볼 수 있습니다.
자세한 내용은 https://makand.tistory.com/entry/SQL-LEFT-JOIN-%EA%B5%AC%EB%AC%B8 를 참고하시면 좋을 것 같습니다.
(2019-09-20 13:02)
저보다 훨씬 깔끔하게 쿼리를 작성하신 분이 계시네요.
rudtyz님이 올려주신 코드입니다.
*코드가 상당히 지저분하네요. 개선할 방법을 찾아보고 포스팅해보도록 하겠습니다.
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'DB > 프로그래머스 SQL 고득점 Kit' 카테고리의 다른 글
SQL 고득점 Kit NULL 처리하기 (0) | 2019.09.20 |
---|---|
SQL 고득점 Kit 이름이 있는 동물의 아이디 (0) | 2019.09.20 |
SQL 고득점 Kit 입양 시각 구하기(1) (0) | 2019.09.20 |
SQL 고득점 Kit 중복 제거하기 (0) | 2019.09.20 |
SQL 고득점 Kit 동물 수 구하기 (0) | 2019.09.20 |