inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실무에 바로 쓰자! 이커머스 데이터로 배우는 실전 SQL 분석

Join(2) - 다중 테이블 join

쿼리 질문

해결된 질문

280

Hyemin Yang

작성한 질문수 1

1

데이터 join 시점부터 두 번 째줄 쿼리 문인

WHERE l = l 은 왜 넣는건가요? 무슨 의미인가요?

sql

답변 1

0

longvacation

안녕하세요. 강의자입니다.

WHERE 1=1 은 항상 참입니다. 1은 1과 같으니까요. 이것을 추가한 이유는
SQL 컨벤션이라고 하는 코드를 작성할때 쉽게 이해하기위한 에티켓이라고 생각해주시면 되겠습니다.

컨벤션은 필수적이지는 않으나 잘 지키면 나중에 긴 라인의 SQL 코드를 이해하는데 도움이 많이 됩니다.
예를들어 설명드리면 아래 2개의 SQL에는 1=1 조건 유무만 차이가 있습니다.


1=1이 있는 쿼리의 경우 조건문별로 들여쓰기를 맞춰줄수 있어 이해하기 쉽습니다.
1=1이 없는 쿼리의 경우 조건문의 들여쓰기가 맞지 않습니다.

1=1이 있는 쿼리의 경우 다음라인부터 조건문을 체크하면 됩니다.
1=1이 없는 쿼리의 경우 수천라인의 긴 SQL일 경우 첫번째 조건문을 캐치하지 못하는 경우가 있습니다.

이정도 차이가 있는데요~
짧은 라인의 코드라 와닿지 않으실수도 있을거 같습니다. 혹 이해가 어려우시다면 조건문 앞에 항상 1=1을 넣어주면 나중에 코드를 다시 읽을때 편하다 하지만 필수는 아니다 라고 이해하시고 수업을 들어주시면 되겠습니다.

SELECT * FROM ITEM I, VEN V 
WHERE 1 = 1 
AND I.VEN_ID  = V.VEN_ID
AND I.ITEM_ID = V.ITEM_ID 
...(여러조건들) 
SELECT * FROM ITEM I, VEN V 
WHERE I.VEN_ID  = V.VEN_ID
AND I.ITEM_ID = V.ITEM_ID 
...(여러조건들) 

 

강의에 관심갖고 질문 주셔서 감사합니다. 추가적인 질문 있으시다면 댓글 남겨주세요.

감사합니다 :)

1

Hyemin Yang

친절하게 설명해주셔서 감사합니다! :)

아주 작은 정오표 전달드립니다.

0

2

1

mysql워크벤치를 실행할때마다 오류가 뜹니다. 해결 방법좀 가르켜주세요.

0

23

1

함수기반 인덱스

0

27

2

날짜 인덱스관련 질문

0

22

1

복합인덱스 확인법

0

19

0

order_product 까마귀발

0

24

1

공통 코드 , 계층 구조 질문

1

30

1

77번 문제

0

24

1

상품 정보 크롤링

0

43

2

다음 연관 강의는 어디서 볼 수 있나요?

0

92

2

쿠팡 크롤링 코드 지금은 사용 불가능한가요?

0

108

1

섹션3 join(1) 데이터 연관관계 설정 자료 요청

0

122

1

결제 데이터 분석 (join)편에 올라온 수업 자료 실행이 안됩니다

0

221

2

할인 데이터 확인 편에서 에러가 자꾸 납니다.

0

207

1

할인테이블 생성의 엑셀 자료가 없어요

0

216

1

SQL 라이트가 ORDER를 인식하지 못합니다

0

313

3

여기서 WHERE 1=1을 왜 쓰는 걸까요?

0

942

2

수업자료로 아이템테이블의 카테고리아이디컬럼 복붙하신거 추가해주세요 ㅠㅠ

1

392

2

수업 자료 문의

0

247

1

구글 콜랩 링크 부탁드립니다

0

312

1

sql파일 불러오기가 안됩니다.

0

752

1

csv 불러왔을때 string으로 인식해서 숫자함수 안먹히는 문제

1

1256

2

맥 OS 사용 부분과 상품명 오류 부분 질문 드립니다 ㅠ

1

314

1

쿠팡 상품 정보 크롤링 상품 테이블 엑셀파일

1

376

1