공부를 한 결과를 점검하기 위해 팀 프로젝트를 수행해야 합니다! 이제, 아래와 같은 team_projects(프로젝트) 테이블이 있습니다.
id | name | start_date | end_date | aws_cost |
---|---|---|---|---|
1 | 일조 | 2023-01-01 | 2023-01-07 | 30000 |
2 | 꿈꾸는이조 | 2023-03-15 | 2023-03-22 | 50000 |
3 | 보람삼조 | 2023-11-20 | 2023-11-30 | 80000 |
4 | 사조참치 | 2022-07-01 | 2022-07-30 | 75000 |
team_projects
테이블에서 AWS 예산(aws_cost)이 40000 이상 들어간 프로젝트들의 이름을 선택하는 쿼리를 작성해주세요!SELECT name
FROM team_projects
WHERE aws_cost >= 40000
team_projects
테이블에서 2022년에 시작된 프로젝트를 선택하는 쿼리를 작성해주세요! 단, start_date < ‘2023-01-01’ 조건을 사용하지 말고 쿼리를 작성해주세요!SELECT *
FROM team_projects
WHERE start_date BETWEEN '2022-01-01' AND '2022-12-31'
여기서 처음 보는 함수가 등장.. 기억을 못하나 싶어서 강의자료 다시 뒤져봤는데 없어서
GPT에게 물어봤다 얘 없이 어떻게 살았지..?
+ 날짜 추출 함수
SELECT
YEAR('2024-02-04') AS year_value, -- 연도 추출
MONTH('2024-02-04') AS month_value, -- 월 추출
DAY('2024-02-04') AS day_value; -- 일 추출
🔹 결과:
| year_value | month_value | day_value |
|-----------|--------------|-----------|
| 2024 | 2 | 4 |
정답
SELECT *
FROM team_projects
WHERE YEAR(start_date) = 2022
team_projects
테이블에서 현재 진행중인 프로젝트를 선택하는 쿼리를 작성해주세요. 단, 지금 시점의 날짜를 하드코딩해서 쿼리하지 말아주세요!이건 문제부터가 이해가 잘 안 갔다🥲
'전부 과거 날짜인데 현재 진행중인 프로젝트를 어떻게 선택하지?' 라고 생각함.
정답 보니 또 모르는 함수여서 다시 GPT에게 물어봄..
+ CURDATE() 사용법
필요에 따라 = 또는 >=, <= 등을 조합해서 활용 가능!
SELECT
FROM
WHERE CURDATE() BETWEEN start_date AND end_date;
정답
SELECT *
FROM team_projects
WHERE CURDATE() BETWEEN start_date AND end_date
team_projects
테이블에서 각 프로젝트의 지속 기간을 일 수로 계산하는 쿼리를 작성해주세요!오늘은 모르는 것 투성이..... 따봉GPT야 고마워🙄
이렇게 새로운 함수를 세 개나 알았다!
+ DATEDIFF 함수
날짜 차이를 계산할 때 시간 정보는 무시하고 순수한 "일" 단위의 차이만 계산
음수 값도 반환 가능 (start_date가 end_date보다 미래면 음수)
SELECT DATEDIFF('2025-02-10', '2025-02-01') AS days_difference;
정답
SELECT DATEDIFF(end_date, start_date) AS 별명
FROM