Quest/SQL

SQL Quest 걷기반 - 8)

beady 2024. 11. 13. 17:09

8) LOL을 하다가 홧병이 나서 병원을 찾아왔습니다.

 

id
name
major
hire_date
1
르탄이
피부과
2018-05-10
2
배캠이
성형외과
2019-06-15
3
구구이
안과
2020-07-20

 

 

30. doctors 테이블에서 전공(major)가 성형외과인 의사의 이름을 알아내는 쿼리를 작성해주세요!

select name
from doctors
where major='성형외과'

 

31. doctors 테이블에서 각 전공 별 의사 수를 계산하는 쿼리를 작성해주세요!

select major,
       count(*)
from doctors
group by 1

 

32. doctors 테이블에서 현재 날짜 기준으로 5년 이상 근무(hire_date)한 의사 수를 계산하는 쿼리를 작성해주세요!

select count(*)
from doctors
where datediff(current_date, hire_date)/365>=5

 

33. doctors 테이블에서 각 의사의 근무 기간을 계산하는 쿼리를 작성해주세요!

select *,
       datediff(current_date, hire_date) "근속일수",
       timestampdiff(month, hire_date, current_date) "근속월수",
       timestampdiff(year, hire_date, current_date) "근속연수"
from doctors

 


TIMESTAMPDIFF()

 

날짜간의 차이를 지정한 단위로 계산해주는 함수

 

- 단위 예시

  • SECOND : 초
  • MINUTE : 분
  • HOUR : 시
  • DAY : 일
  • WEEK : 주
  • MONTH : 월
  • QUARTER : 분기
  • YEAR : 연
timestampdiff(unit, start_date, end_date)