카테고리 없음

내일배움캠프_QAQC_사전캠프 6일차 (SQL 4일차)

iron-min 2025. 8. 25. 17:46

1. 오늘 배운것

오늘은 사전캠프 퀘스트 모음집의 4번~8번까지 했습니다.

강의에서 배우지 못했던 명령어가 나와서 찾아보면서 하느라 시간이 걸렸습니다.

그리고 정답과 다르게 좀 어렵게 코딩한 부분도 많았구요

 

우선 기존에 배우지 못했던 새로운 명령어 들입니다.

curdate() 현재 날짜를 YYYY-MM-DD 형식으로 나타내주는 함수입니다.
limit 컬럼에서 가져오고 싶은 행의 갯수를 지정해줍니다.
예) limit 1 이면 위 1개의 행만 남게됩니다.
datediff(datepart,startdate,endate) datepart : 차이를 계산할 날짜 부분을 지정합니다 (예 day,month,year)
startdate : 시작 날짜를 지정합니다.
enddate : 종료 날짜를 지정합니다.

 

★ datediff 주의 사항입니다.

만약 어떤 작업이 23년 1월 1일 부터 23년 1월 10일까지 소요되었다면 작업 기간은 몇일일까요? 라는 질문을 했다면

select datediff(day, '2023-01-01','2023-01-10') 라고 쓸수 있겠지만 이렇게 되면 결과값이 9가 됩니다!

고로 select datediff(day, '2023-01-01','2023-01-10') + 1 을 붙여줘야 겠죠!

 

2. 시도해본것

☆ 정답이랑 다른부분

★ 몰라서 정답과 비교하면서 푼것

 

3. 해결방법

저 위에 28번이 굉장히 봇잡하게 쓰여져 있습니다.

원래 서브쿼리를 a만 묶어줘서 했는데 오류가 나더라고요

조원들과의 토의 후에 b로 한번더 묶어줬더니 오류가 나지 않았습니다. (정답인지는 모르겠습니다 ㅎ)

도저히 모르겠어서 왜 한번더 묶어줘야 하는지! 담임매니저 님께 여쭤봤습니다.

 

4. 무엇을 새롭게 알았는지

정답을 안보고 문제를 풀려고 노력하는데 힘드네요!

정답을 보면 별것도 아닌데 강의를 들으면서 하는것이랑 직접 해보는것은 역시 다르군요

그래도 계속 정답안보고 풀려고 노력해봐야겠습니다.