본문 바로가기
SQL

[SQL 기초 연습] 9. 아프면 안됩니다! 항상 건강 챙기세요!

by wooksss 2025. 1. 16.
의사가 있으면 당연히 의사에게 진료받는 환자가 있겠죠? 아래와 같은 patients(환자) 테이블이 있습니다.
id
name
birth_date
gender
last_visit_date
1
르탄이
1985-04-12
남자
2023-03-15
2
배캠이
1990-08-05
여자
2023-03-20
3
구구이
1982-12-02
여자
2023-02-18
4
이션이
1999-03-02
남자
2023-03-17
34.
patients 테이블에서 각 성별(gender)에 따른 환자 수를 계산하는 쿼리를 작성해주세요!

    > SELECT gender,COUNT(*) FROM patients GROUP BY gender;

35.
patients 테이블에서 현재 나이가 40세 이상인 환자들의 수를 계산하는 쿼리를 작성해주세요!
    > SELECT COUNT(*) FROM patients WHERE birth_date <= DATE_SUB(CURDATE(), INTERVAL 40 YEAR);
36.
patients 테이블에서 마지막 방문 날짜(last_visit_date)가 1년 이상 된 환자들을 선택하는 쿼리를 작성해주세요!
    > SELECT * FROM patients WHERE last_visit_date <= DATE_SUB(CURDATE(), INTERVAL 1 YEAR);
37.
patients 테이블에서 생년월일이 1980년대인 환자들의 수를 계산하는 쿼리를 작성해주세요!

    > SELECT COUNT(*) FROM patients WHERE birth_date BETWEEN '1980-01-01' AND '1989-12-31';

 

-- YEAR()로 추출하는 것보다 직접 기간을 지정해주는 것이 연산 횟수를 줄여 효율적이라고 한다.

-- 연도를 직접 불러오는 상황 아니고 단순 조회가 목적이라면 전체 날짜를 입력해주기