내일배움캠프 STEP 2. 속도에 맞춰 나아가기/SQL 기초

5. 공부하다보니 팀 프로젝트 시간이 왔어요!

김호진02 2024. 10. 11. 17:23

공부를 한 결과를 점검하기 위해 팀 프로젝트를 수행해야 합니다! 이제, 아래와 같은 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 이상 들어간 프로젝트들의 이름을 선택하는 쿼리를 작성해주세요!

 

조건 1. AWS예산이 40000이상인 데이터

조건 2. 조건1에 해당하는 프로젝트의 이름 출력

답)

SELECT name

FROM team_projects 

WHERE aws_cost>=40000;

 

18번 문제

- team_projects  테이블에서 2022년에 시작된 프로젝트를 선택하는 쿼리를 작성해주세요! 단, start_date < ‘2023-01-01’ 조건을 사용하지 말고 쿼리를 작성해주세요!

 

조건1. 2022년에 시작된 프로젝트 선택(LIKE)

답)

SELECT *

FROM team_projects 

WHERE start_date LIKE '2022%';

 

19번 문제

- team_projects 테이블에서 현재 진행중인 프로젝트를 선택하는 쿼리를 작성해주세요. 단, 지금 시점의 날짜를 하드코딩해서 쿼리하지 말아주세요!

 

조건1. 진행중인 프로젝트 출력(끝나는 날짜가 오늘 이상인 경우 CURDATE())

답)

SELECT *

FROM team_projects 

WHERE end_date > CURDATE();

 

20번 문제

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

 

조건1. 프로젝트의 지속기간을 일수로 계산하여 출력DATADIFF( end_date - start_date)

답)

SELECT id, DATADIFF( end_date - start_date)

FROM team_projects;

 

 

일수 구하는 함수

MySQL에서는 

DATADIFF(날짜)함수 사용

 

Oracle에서는 

SELECT TO_DATA(날짜1,'YYYY-MM-DD') - TO_DATA(날짜2,'YYYY-MM-DD')