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(*)
from doctors
group by major
3. doctors 테이블에서 현재 날짜 기준으로 5년 이상 근무(hire_date)한 의사 수를 계산하는 쿼리를 작성해주세요!
select count(*)
from doctors
where hire_date <= date_sub(curdate(), interval 5 year)
#timestampdiff는 두번째 매개변수에서 첫번째를 뺌, 나머지 diff는 반대
select count(*)
from doctors
where 5 <= timestampdiff(year, hire_date, curdate())
4. doctors 테이블에서 각 의사의 근무 기간을 계산하는 쿼리를 작성해주세요!
select name, datediff(curdate(), hire_date) as date_period
from doctors
배운 것
- TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)
- unit: 계산 단위 (YEAR, MONTH, DAY, 등)
- datetime_expr1: 시작 날짜/시간
- datetime_expr2: 종료 날짜/시간
- 두번째에서 첫번째 매개변수를 뺌
- datediff(datetime_expr1, datetime_expr2)
- 첫번째에서 두번째 매개변수를 뺌
- date_sub(curdate(), interval 5 year)
- date: 기준 날짜
- INTERVAL expr unit: 빼고자 하는 기간을 표현
- expr: 숫자 (빼고자 하는 값)
- unit: 기간 단위 (예: DAY, MONTH, YEAR, HOUR, 등)
'SQL' 카테고리의 다른 글
SQL 문법 연습 - 10) 이젠 테이블이 2개입니다 (0) | 2024.12.07 |
---|---|
SQL 문법 연습 - 9)아프면 안됩니다! 항상 건강 챙기세요! (0) | 2024.12.07 |
SQL 문법 연습 - 7) 랭크게임 하다가 싸워서 피드백 남겼어요… (0) | 2024.12.07 |
SQL 문법 연습 - 6) 팀 프로젝트 열심히 했으니 다시 놀아볼까요?! (0) | 2024.12.07 |
SQL 문법 연습 - 5) 공부하다보니 팀 프로젝트 시간이 왔어요! (0) | 2024.12.06 |