DB/개념정리
WHERE 1=1
Itchild
2024. 4. 10. 22:41
728x90
반응형
WHERE 1=1 을 사용하는 이유
1=1 은 True를 의미 한다. 즉, 항상 참이므로, 기본적으로 조건이 없는 상태로 쿼리를 시작 할 수 있다.
조건이 없는 상태로 쿼리를 시작한다는 것은 즉, 조건문을 유연하게 추가 하기 위해서 작성할 수 있다.
조건문을 유연하게 추가 한다는 말은, 코드의 유지보수를 쉽게 할 수 있음을 의미.
static final String SQL_SELECTALL = "SELECT P.*, ROUND(AVG(B.BSTAR),1) AS PSTARAVG,
COUNT(B.BSTAR) AS PSTARCNT FROM PRODUCT P
LEFT JOIN BOARD B ON P.PNUM=B.PNUM
WHERE 1 = 1";
ProductVO 의 모든 컬럼들과 별점들의 평균을 소수점 첫째자리 까지만 보여줘 별칭은 PSTARAVG
별점도 카운트 해줘 물품과 리뷰를 연결 시킬거야 그리고 P.상품번호 와 B.상품번호가 같다고 할게
[ 참고 ]
동적쿼리에서 특정 상황 마다 WHERE 절을 다르게 작성 해야 할 때 편리.
동적쿼리란 ?
조건에 따라서, 결과값이 달라지는 쿼리를 의미.
파라미터를 어떻게 받냐에 따라,
조건값이 달라진다 == SELECT 하는 결과값이 달라진다.
728x90
반응형