Tutorial 1.1 SQL
개발 입문단계에 있어, 다른 이에게 보여줄 어떤 참고서를 작성하는 일은 나에게 마땅치 않은 것 같다.
기왕의 공부내용은 다른 체계로 정리되어 있다.(https://1drv.ms/u/s!Ah3ot1Iz99uHgR03p1gu4T67kaoV)
이 블로그는 일종의 "루만의 메모상자"처럼 사용하려 한다.
1.0


2.0 삽질의 기억
*날짜를 " " 안에 넣지 않아서 오류


Q.날짜는 문자열 취급이면서 포인트 숫자는 왜 숫자 취급인가? 어떻게 구분하는가?
A.그냥 아이콘으로 구분할 수 있다.

*쿼리문의 순서가 엉망진창인 경우.

*Alias 정리를 잘 하지 않아 오류.

*두번째 inner join 에서 checkins 와 orders를 course_id로 묶는 바람에 숫자가 이상하게 나왔다.
"구매한 고객들"의 숫자를 뽑아내야 하는데, 어처구니 없는 숫자가 나왔다.
이에 대하여 강좌 FAQ에 장황한 해설이 적혀 있기도 했으나, 목적하는 바가 무엇인지 상기한다면 저지르지 않을 실수이다.

*SELECT 문 내부에 쉼표를 제대로 찍지 않아 에러가 나왔다.

*On 이후 등식을 잘못 적었다.
User_id 와 point_user_id가 같은 교집합 이라고 써놨으니 당연히 left join 한 point_users는 제로가 나온다.

*On 이후 등식을 잘못 적었다.
User_id 와 point_user_id가 같은 교집합 이라고 써놨으니 당연히 left join 한 point_users는 제로가 나온다.
Is not Null 이라고 해봐야 당연히 나오는게 없다.

*7월 13일 ~ 7월 14일 데이터를 뽑을 때, 조건으로 BETWEEN '2020-07-13' AND '2020-07-15' 로 하는 이유
SQL에서 BETWEEN A AND B 문법의 범위는 A 이상 B 이하 이나, 날짜데이터의 경우 시,분,초 가 없이 날짜만 적는 경우 BETWEEN '2020-07-13 00:00:00' AND '2020-07-15 00:00:00'와 같은 의미.
즉, B에 해당하는 데이터가 00:00:00 이하의 데이터여서 7월 15일의 데이터가 1초라도 지나가면 범위에 포함되지 않는 것. 그래서 15일 데이터는 결과로 출력되지 않는다.
