[코딩테스트] [solvesql] 작품이 없는 작가 찾기

문제


정답


select a.artist_id, a.name
from artists as a
left outer join artworks_artists as aa
  on a.artist_id = aa.artist_id
where death_year is not null
  and aa.artwork_id is null
order by a.name

풀이


(1) "MoMA에 등록되어있고"

 

artists 테이블에 MoMA에 등록되어있는 작가들이 있기 때문에, 따로 조건을 추가할 필요는 없음

 

 

(2) "현재 살아있지 않은 작가 중"

 

살아있지 않다면, artists 테이블의 사망연도 관련 컬럼이 null이 아닌 것을 이용

 

 

 

(3) "MoMA에 등록된 작품이 없는"

 

artists 테이블과 등록된 작품과 관련된 artworks_artists 테이블을 left outer join을 하면,

MoMA에 등록된 작품이 없는 작가들의 경우, artworks_artists 관련 컬럼이 null임을 이용

 

문제 출처


https://solvesql.com/problems/artists-without-artworks/

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유