여기서 WHERE 1=1을 왜 쓰는 걸까요?
WHERE 1=1을 제외하면 SQL 실행이 안되는데 있고 없고 차이가 어떤 의미인지 궁금합니다
Answer 2
0
안녕하세요.
WHERE 문의 첫번째 조건에는 AND 조건이 없습니다.
WHERE A.ITEM_ID = B.ITEM_ID
AND B.ITEM_ID = C.ITEM_ID <-- 이처럼 두번째 조건문 부터 AND가 필요합니다.
따라서 질문자분께서 1=1을 없애고 싶으시다면 다음 조건문의 AND를 제외하고 SQL을 수행하시면 오류가 해결될것으로 보입니다.
1=1을 사용하는 이유는 일종의 SQL 작성의 컨벤션(매너) 같은 거라고 보시면 되겠습니다.
아주 짧은 질의에서는 괜찮겠지만 SQL은 수천, 수만라인까지 작성되는 경우도 많습니다.
이때 1=1이 없으면 가장 첫번째 조건문을 읽는 사람 입장에서 놓칠수가 있어 암묵적 약속을 하는거라고 봐주시면 됩니다. 1=1을 안하고 바로 조건문부터 수행하셔도 무방하긴 합니다.
강의에 관심갖고 질문 주셔서 감사드리고, 추가 질문이 있으시다면 언제든 질문 부탁드리겠습니다.
감사합니다 :)
0
안녕하세요, 인프런 AI 인턴입니다.
tomate321님의 질문은 WHERE 1=1 구문의 사용 목적과 그것이 SQL 쿼리에 미치는 영향에 대해 관심이 있으신 것으로 보입니다. 해당 쿼리 구문은 SQL에서 자주 사용되는 기법 중 하나로, 특정 조건을 테스트하거나 쿼리를 동적으로 구성할 때 유용하게 사용됩니다.
관련된 내용을 예전에 설명드린 답변과 매우 유사한 내용이 있습니다. “쿼리 질문”에서는 데이터 조인 시 WHERE 1=1 구문을 사용하는 이유 및 그 의미에 대해 자세히 설명하고 있습니다. 핵심적으로, WHERE 1=1은 항상 참을 의미하므로, SQL 쿼리를 동적으로 생성하거나 수정할 때 특정 조건을 추가하거나 제거하기 쉽게 만들어 줍니다. 쿼리의 가독성을 향상시키고, 조건을 추가하거나 삭제하는 과정을 간소화하는 데 도움이 됩니다. 특히, 긴 SQL 쿼리에서 조건을 쉽게 추가하거나 제거할 수 있어 유용하게 사용됩니다.
사실상, WHERE 1=1 자체는 쿼리의 결과에 직접적인 영향을 미치지 않지만, 개발자가 쿼리를 더 유연하게 작성할 수 있게 돕는 “SQL 컨벤션”으로 볼 수 있습니다. 이 방법을 사용하면 다음 조건들을 추가할 때 일관된 패턴을 유지할 수 있어서 코드를 좀 더 깔누럽고 관리하기 쉽게 만듭니다.
이와 관련된 자세한 내용과 예시는 여기서 확인하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
상품 정보 크롤링
0
14
2
강의에 적용한 스크립트를 받아 볼수 있을까요?
0
27
2
실습소실행안되요
0
27
1
수강기간 연장
0
18
1
BCNF 질문
0
40
2
연관 엔티티 네이밍 규칙
0
35
1
ORA-01017 오류 때문에 진도가 못나가고있습니다.!
0
30
2
히스토리 관련 질문
0
48
2
SSMS 설치 오류
0
43
1
다음 연관 강의는 어디서 볼 수 있나요?
0
76
2
쿠팡 크롤링 코드 지금은 사용 불가능한가요?
0
79
1
섹션3 join(1) 데이터 연관관계 설정 자료 요청
0
105
1
결제 데이터 분석 (join)편에 올라온 수업 자료 실행이 안됩니다
0
201
2
할인 데이터 확인 편에서 에러가 자꾸 납니다.
0
194
1
할인테이블 생성의 엑셀 자료가 없어요
0
204
1
SQL 라이트가 ORDER를 인식하지 못합니다
0
293
3
수업자료로 아이템테이블의 카테고리아이디컬럼 복붙하신거 추가해주세요 ㅠㅠ
1
377
2
수업 자료 문의
0
237
1
구글 콜랩 링크 부탁드립니다
0
296
1
쿼리 질문
1
267
1
sql파일 불러오기가 안됩니다.
0
737
1
csv 불러왔을때 string으로 인식해서 숫자함수 안먹히는 문제
1
1238
2
맥 OS 사용 부분과 상품명 오류 부분 질문 드립니다 ㅠ
1
302
1
쿠팡 상품 정보 크롤링 상품 테이블 엑셀파일
1
368
1

