강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của tomate3215022
tomate3215022

câu hỏi đã được viết

Áp dụng ngay vào thực tế! Phân tích SQL thực chiến học qua dữ liệu thương mại điện tử

group by(1) - count(số lượng): Tra cứu số lượng sản phẩm theo từng danh mục/nhà cung cấp

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

Đã giải quyết

Viết

·

845

0

WHERE 1=1을 제외하면 SQL 실행이 안되는데 있고 없고 차이가 어떤 의미인지 궁금합니다

sql

Câu trả lời 2

0

longvacation님의 프로필 이미지
longvacation
Người chia sẻ kiến thức

안녕하세요.

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 컨벤션”으로 볼 수 있습니다. 이 방법을 사용하면 다음 조건들을 추가할 때 일관된 패턴을 유지할 수 있어서 코드를 좀 더 깔누럽고 관리하기 쉽게 만듭니다.

이와 관련된 자세한 내용과 예시는 여기서 확인하실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của tomate3215022
tomate3215022

câu hỏi đã được viết

Đặt câu hỏi