[SQL] 언어별 개발자 분류하기

도리·2025년 2월 23일

Programmers lv4. 언어별 개발자 분류하기

참고 블로거
: https://velog.io/@jihn011258/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4MySQL-%EC%96%B8%EC%96%B4%EB%B3%84-%EA%B0%9C%EB%B0%9C%EC%9E%90-%EB%B6%84%EB%A5%98%ED%95%98%EA%B8%B0

참고 정답 코드

WITH FE AS (
SELECT SUM(CODE) AS SKILL_CODE
-- SELECT BIT_OR(CODE) AS SKILL_CODE 도 가능
FROM SKILLCODES
WHERE CATEGORY = 'Front End'
)

-- FE.SKILL_CODE 에는 Front End 기술을 모두 표현해놓은 값이 들어있음

SELECT
CASE
WHEN DEV.SKILL_CODE & FE.SKILL_CODE
AND DEV.SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'Python')
THEN 'A'
WHEN DEV.SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'C#')
THEN 'B'
WHEN DEV.SKILL_CODE & FE.SKILL_CODE
THEN 'C'
ELSE NULL
END AS GRADE
, ID
, EMAIL
FROM
DEVELOPERS DEV
, FE

  • 내가 필요한 조건을 서브쿼리로 만든다!!! << 이것이 중요한 점
  • from DEV, FE 이렇게 뒤에 추가만 하면 쓸 수 있음.
profile
인공지능응용학과 졸업예정..

0개의 댓글