메모장

WHERE 1=1 본문

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
반응형

'DB > 개념정리' 카테고리의 다른 글

유니크 키 (Unique Key)  (0) 2024.04.10
Oracle DBMS ' NVL '  (0) 2024.04.10
JOIN 과 순위함수  (0) 2024.04.10
데이터 그룹화 GROUP BY,HAVING,그룹함수  (0) 2024.04.10
JDBC - 임시 멤버 변수 구현  (0) 2024.04.10