Q5) 공부하다보니 팀 프로젝트 시간이 왔어요!
공부를 한 결과를 점검하기 위해 팀 프로젝트를 수행해야 합니다! 이제, 아래와 같은 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
|
17. team_projects AWS 예산(aws_cost)이 40000 이상 들어간 프로젝트들의 이름을 선택하는 쿼리를 작성해주세요!
더보기
SELECT name from team_projects WHERE aws_cost >= 40000
18. team_projects 테이블에서 2022년에 시작된 프로젝트를 선택하는 쿼리를 작성해주세요! 단, start_date < ‘2023-01-01’ 조건을 사용하지 말고 쿼리를 작성해주세요!
더보기
19. team_projects 테이블에서 현재 진행중인 프로젝트를 선택하는 쿼리를 작성해주세요. 단, 지금 시점의 날짜를 하드코딩해서 쿼리하지 말아주세요!SELECT * from team_projects WHERE YEAR(start_date) = 2022
더보기
SELECT * from team_projects WHERE CURDATE() BETWEEN start_date AND end_date
20. team_projects 테이블에서 각 프로젝트의 지속 기간을 일 수로 계산하는 쿼리를 작성해주세요!
더보기
SELECT *, DATEDIFF(end_date, start_date) AS duration_days from team_projects
정답) SELECT name, DATEDIFF(end_date, start_date) AS working_days FROM team_projects;
- 정답 쿼리는 간결하게 name만 출력 → 필요한 정보만 보고 싶을 때 적합
- 내가 작성한 쿼리는 id, start_date, end_date, aws_cost도 출력 → 추가적인 프로젝트 정보를 함께 보고 싶을 때 유용
핵심 개념 정리
연도 추출
SELECT * FROM (데이터베이스/테이블) WHERE YEAR(컬럼명) = "2021"
CURDATE(): 현재 날짜를 반환
CURTIME(): 현재 시간을 반환
NOW(): 현재 날짜와 시간 정보를 반환
SELECT * FROM 주문 WHERE YEAR(주문일) = YEAR(CURDATE());
DATEDIFF
- MySQL 에서 날짜 차이를 구하기 위해 DATEDIFF, TIMESTAMPDIFF 함수를 사용
- 간단하게 일(day) 차이를 구할 때는 DATEDIFF 함수를 사용
- 이외에 연(year), 월(month), 시간(hour), 초(second) 등을 지정하여 구할 때는 TIMESTAMPDIFF 함수를 사용
- 기본적으로 날짜1 - 날짜2 로 계산
DATEDIFF(날짜1, 날짜2)
'PM > SQL' 카테고리의 다른 글
[내일배움캠프 TIL] 사전캠프 8일차 SQL 기초(7) (0) | 2025.03.19 |
---|---|
[내일배움캠프 TIL] 사전캠프 7일차 SQL 기초(6) (0) | 2025.03.18 |
[내일배움캠프 TIL] 사전캠프 5일차 SQL 기초(4) (0) | 2025.03.14 |
[내일배움캠프 TIL] 사전캠프 4일차 SQL 기초(3) (0) | 2025.03.13 |
[내일배움캠프 TIL] 사전캠프 3일차 SQL 기초(2) (3) | 2025.03.12 |