sql

CURDATE() DATEDIFF() AS

148june 2025. 1. 22. 15:42
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 YEAR(start_date) = 2022;

년도 선택을 하는문제는 기존대로 넣어준다고 생각해주기

 

team_projects 테이블에서 현재 진행중인 프로젝트를 선택하는 쿼리를 작성해주세요.

단, 지금 시점의 날짜를 하드코딩해서 쿼리하지 말아주세요!

정답

SELECT * FROM team_projects WHERE CURDATE() BETWEEN start_date AND end_date;

연도 가 2023년 2022년 과거 기준으로 보여서 헷갈릴수있지만 현재를 뜻하는 CURDATE()를 넣어서 현재시점 넣어주고

시작시점 끝시점 확인만 하면됩니다.

 

team_projects 테이블에서 각 프로젝트의 지속 기간을 일 수로 계산하는 쿼리를 작성해주세요!

정답

SELECT name, DATEDIFF(end_date, start_date) AS working_days FROM team_projects;

지속기간을 알고싶은거기때문에 시작 기간과 끝기간 차이를 구하는 DATEDIFF를 활용하고

AS로 working_days로 바꿔준다.

AS는 명칭을 바꿀때 사용된다.