[TIL] CURRENT() / DATE DIFF

NayeonKim·2025년 4월 30일

[TIL] 한땀한땀 SQL

목록 보기
2/4
post-thumbnail

Today I learned 💭

CURRENT DATE / CURRENT()

  • 목적: 오늘 날짜 구하기 YYYY-MM-DD
  • SQL에서 TODAY는 작동 안함!

DATEDIFF 함수

  • 목적: 두 날짜가 몇일 차이 나는지 구하기 / Date difference 라는 뜻
  • 문법: DATEDIFF(A,B) A-B 값으로 나옴
  • 예시: DATEDIFF(CURRENT(),hire_date)
  • 오늘의 쿼리 공부
    1. doctors 테이블에서 전공(major)가 성형외과인 의사의 이름을 알아내는 쿼리를 작성해주세요!

      SELECT name
      FROM doctors
      WHERE major = '성형외과';
      
      ** 문자/날짜는 큰따움표 보다는 작은따옴표로 감싸는 습관 
    2. doctors 테이블에서 각 전공 별 의사 수를 계산하는 쿼리를 작성해주세요!

      SELECT major
      			,COUNT(*) AS cnt_major
      FROM doctors
      GROUP BY major;
    3. doctors 테이블에서 현재 날짜 기준으로 5년 이상 근무(hire_date)한 의사 수를 계산하는 쿼리를 작성해주세요!

      
      정답
      SELECT COUNT(*) AS num_of_doctors FROM doctors WHERE hire_date <= DATE_SUB(CURDATE(), INTERVAL 5 YEAR);
      
      내 쿼리
      SELECT COUNT(*) AS cnt_doctors
      FROM doctors
      WHERE hire_date <= DATE_SUB(TODAY, INTERVAL 5 YEAR);
      
      ** SQL에서는 오늘 날짜를 넣고 싶을때 TODAY가 아니라 CURDATE() 또는 CURRENT DATE  사용하기!
    4. doctors 테이블에서 각 의사의 근무 기간을 계산하는 쿼리를 작성해주세요!

      정답
      SELECT name, DATEDIFF(CURDATE(), hire_date) AS working_days FROM doctors;
      
      내 쿼리
      SELECT name
      		  ,hire_date
      FROM doctors
      GROUP BY name;
      
      ** 단순히 의사별 입사일을 구하는게 아님!
      입사일부터 오늘까지의 날짜 차이를 구하기
      
      DATEDIFF() 함수란?
      DATEDIFF(A, B)는 A - B 날짜 차이(일수) 를 계산
profile
그로스마케터 성장일지 🐕

0개의 댓글