기록이 힘이다.

[프로그래머스] 카테고리 별 상품 개수 구하기 where 1=1 본문

SQL

[프로그래머스] 카테고리 별 상품 개수 구하기 where 1=1

dev22 2024. 1. 17. 21:59
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/131529

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

SELECT
  SUBSTRING(PRODUCT_CODE, 1, 2) AS CATEGORY_CODE,
  COUNT(*) AS PRODUCT_COUNT
FROM
  PRODUCT
GROUP BY
  SUBSTRING(PRODUCT_CODE, 1, 2)
ORDER BY
  CATEGORY_CODE ASC;

다른 사람의 풀이를 보다가 프로젝트에서도 자주 보았던 where 1=1을 발견하였다. 자리 확인자로 사용한 것이라고 해서 이번 기회에 한번 정리해본다. 

 

'WHERE 1=1' 절은 일반적으로 SQL 쿼리를 동적으로 생성할 때 자리 표시자로 사용됩니다. 이 특정한 경우에는 쿼리 결과에 아무런 영향을 미치지 않으며 쿼리 기능에 영향을 주지 않고 생략할 수 있습니다. 이는 본질적으로 특정 기준에 따라 쿼리에 동적으로 추가될 수 있는 추가 조건에 대한 시작점을 제공하는 방법입니다.

예를 들어, 프로그래밍 언어로 SQL 쿼리를 동적으로 생성하고 사용자 입력이나 기타 변수를 기반으로 조건을 추가해야 하는 경우 'WHERE 1=1'로 시작하면 조건을 확인할 필요 없이 추가 조건을 더 쉽게 추가할 수 있습니다. 첫 번째 조건이든 아니든. 이는 쿼리를 동적으로 작성하는 논리를 단순화합니다.