문제 요약
1. 둘 이상의 메이저 플랫폼 계열에 출시된 게임 찾기
Sony: 'PS3', 'PS4', 'PSP', 'PSV'
Nintendo: 'Wii', 'WiiU', 'DS', '3DS'
Microsoft: 'X360', 'XONE'
2. 2012년 이후 출시
3. 중복된 게임 1번만 출력
문제 풀이
2번 틀렸다..ㅎ
1. FROM 서브쿼리에서 게임명 추출 시 DISTINCT 사용하지 않음 (밖에 사용)
2. year >= 2012 (year > 2012로 사용)
추가로 알게된 것!
JOIN절 쓸 때 ON 말고도 USING 절 사용 가능
ON - 컬럼명 달라도 사용 가능
USING - 컬럼명 같아야 사용 가능, 괄호 이용
SELECT name
FROM
(SELECT DISTINCT g.name,
CASE WHEN p.name IN ('PS3', 'PS4', 'PSP', 'PSV') THEN 'Sony'
WHEN p.name IN ('Wii', 'WiiU', 'DS', '3DS') THEN 'Nintendo'
WHEN p.name IN ('X360', 'XONE') THEN 'Microsoft'
END bp
FROM games g
JOIN platforms p USING (platform_id)
WHERE year >= 2012) D1
GROUP BY name
HAVING COUNT(bp) > 1