개발자공부일기
SQL 문법 문제(기초) Step8 본문
테이블명:doctors
id | name | major | hire_date |
1 | 르탄이 | 피부과 | 2018-05-10 |
2 | 배캠이 | 성형외과 | 2019-06-15 |
3 | 구구이 | 안과 | 2020-07-20 |
1.doctors 테이블에서 전공(major)가 성형외과인 의사의 이름을 알아내는 쿼리를 작성해주세요!
SELECT name
FROM doctors
WHERE major = '성형외과'
2.doctors 테이블에서 각 전공 별 의사 수를 계산하는 쿼리를 작성해주세요!
SELECT major, COUNT(1)
FROM doctors
GROUP BY major
3.doctors 테이블에서 현재 날짜 기준으로 5년 이상 근무(hire_date)한 의사 수를 계산하는 쿼리를 작성해주세요!
//내 답
SELECT COUNT(1)
FROM doctors
WHERE (SUBSTR(CURRENT_DATE,1,4)-SUBSTR(hire_date,1,4))>=5
//Chat GPT
SELECT COUNT(1)
FROM doctors
WHERE DATEDIFF(CURRENT_DATE, hire_date) >= 5 * 365;
연도만으로 계산할 경우 정확한 근무 기간을 반영하지 못할 수 있습니다. 예를 들어, 2019년 12월 31일에 고용된 의사가 2024년 1월 1일에 근무한 지 5년이 된 것으로 잘못 계산될 수 있습니다.
4.doctors 테이블에서 각 의사의 근무 기간을 계산하는 쿼리를 작성해주세요!
SELECT name, DATEDIFF(CURRENT_DATE, hire_date) employment_duration
FROM doctors
'SQL문제 풀기' 카테고리의 다른 글
SQL 문법 문제(기초) Step10 (0) | 2024.10.25 |
---|---|
SQL 문법 문제(기초) Step9 (0) | 2024.10.24 |
SQL 문법 문제(기초) Step7 (0) | 2024.10.21 |
SQL 문법 문제(기초) Step6 (0) | 2024.10.18 |
SQL 문법 문제(기초) Step5 (0) | 2024.10.17 |