[SQL][스파르타] 1주차 -2

Regina·2022년 10월 15일
0

SQL

목록 보기
3/9

예제 연습해보면서 다시 복귀해야 하는 것
1) 기본적인 명령어들
USE 는 데이터베이스에, SHOW TABLES는 지금 사용하고 있는 DB의 테이블 정보를 보여달라고 하는 것, 테이블의 정보를 보기 위해서는 SELECT * FROM 을 사용하기

2) BETWEEN
실습 문제가 "Gmail을 사용하는 2020/07/12~13에 가입한 유저를 추출하기"
여서 처음에 between '2020-07-12' and '2020-07-13'으로 했는데
뭔가 이상했다. 12일 데이터만 가져오고... 13일 데이터는 추출이 안되었다.

인터넷에서 찾아보니 이렇게 where 절을 사용하거나
select * from users u
where created_at > '2020-07-12' and created_at < '2020-07-14'
정답은 where created_at between "2020-07-12" and "2020-07-14"
였다.
between 사용할 때 날짜를 하루 빼먹는 실수를 하지 말아야 한다.
스파르타 즉문즉답에서 나와 비슷한 질문을 남긴 분이 계셔서 답변을 가져옴

"between 입력한 날짜(숫자)부터 and 입력받은 날짜(숫자) 전까지; 나타내줍니다"

김종민 튜터 | 2022년 9월 12일 오후 8:30
원래 between 구문은 A이상 B이하가 맞습니다!
하지만 강사님이 말씀하신 부분은 조금 다르게 생각하셔야할 필요가 있어요~!
between에서의 2020-07-20는 2020년도 07년 20일 00:00시간 이하라고 해석이 됩니다!
시간까지 고려하면 07월 19일 가입고객까지만 불러와지는 것이지요~

참고 링크

https://blog.naver.com/PostView.naver?blogId=lsy8047&logNo=60185569944&redirect=Dlog&widgetTypeCall=true&directAccess=false

(예전에 회사에서 데이터 분석 솔루션으로 일별 버즈량을 분석하는 데 뭔가 이상해서 보니, 맨 마지막 날짜 데이터가 나오지 않았던 게 생각나네. 그래프만 안 그려지는 게 아니라 마지막 데이터만 빼놓고 분석되어서 범위 설정 할 때 +1일을 해줬어야 했다. 그래서 보고서 작성하는 프로젝트 끝나고 개발자분께 고쳐야 되는 오류들을 리스트업해서 전달드렸던 게 생각난다.)

profile
하루하루 더 나은 사람이 되어보자

0개의 댓글