이제, 아래와 같은 doctors(의사) 테이블이 있습니다.
id |
name |
major |
hire_date |
1 |
르탄이 |
피부과 |
2018-05-10 |
2 |
배캠이 |
성형외과 |
2019-06-15 |
3 |
구구이 |
안과 |
2020-07-20 |
- doctors 테이블에서 전공(major)가 성형외과인 의사의 이름을 알아내는 쿼리를 작성해주세요!
- SELECT name FROM doctors WHERE major = "성형외과";
- doctors 테이블에서 각 전공 별 의사 수를 계산하는 쿼리를 작성해주세요!
- SELECT major, count(*) AS "의사 수" FROM doctors GROUP BY major;
- doctors 테이블에서 현재 날짜 기준으로 5년 이상 근무(hire_date)한 의사 수를 계산하는 쿼리를 작성해주세요!
- SELECT count(*) AS "의사 수" FROM doctors WHERE datediff(now(), hire_date) >= 5 * 365 + 1;
- # MySQL에서 DATEDIFF는 다른 SQL과 다르게 첫번째 인수를 받지 않고 일수의 차이를 계산하기때문에 5년을 5*365로 계산하였다. (4 년에 한번 윤달을 고려하여 1을 추가하였다.)
- doctors 테이블에서 각 의사의 근무 기간을 계산하는 쿼리를 작성해주세요!
- SELECT name, datediff(now(), hire_date) AS "근무 일" FROM doctors;