SQL 코드카타

흉부외과 또는 일반외과 의사 목록 출력하기

여연찌 2024. 3. 22. 20:35
  • DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요.
-- <잘 못 작성한 쿼리>

SELECT dr_name
     , dr_id
     , mcdp_cd
     , DATE_FORMAT(hire_ymd, '%Y-%m-%d') hire_ymd
FROM doctor
WHERE mcdp_cd = 'CS' OR 'GS'
ORDER BY hire_ymd DESC, dr_name

#<정답>

SELECT DR_NAME
     , DR_ID
     , MCDP_CD
     , DATE_FORMAT(hire_ymd, '%Y-%m-%d') HIRE_YMD
FROM doctor
WHERE mcdp_cd IN('CS', 'GS')
ORDER BY hire_ymd DESC, dr_name

#<정답>

SELECT DR_NAME
     , DR_ID
     , MCDP_CD
     , DATE_FORMAT(hire_ymd, '%Y-%m-%d') HIRE_YMD
FROM doctor
-- WHERE mcdp_cd IN('CS', 'GS')
WHERE mcdp_cd = 'CS' OR mcdp_cd = 'GS'
ORDER BY hire_ymd DESC, dr_name

+

OR 조건을 사용하고 싶다면

각각 컬럼을 넣어줘야한다!

아니면 IN 절을 사용해도 괜찮음