쿼리를 분석하다 보면 WHERE 절에 의미없는 조건 1=1이 있는 경우가 있습니다.
WHERE 절에 의미없는 조건 1=1을 사용하는 이유는 동적 쿼리(Dynamic query)를 작성하기 위해서입니다.
/* 1번 케이스 job, mgr 컬럼 기준으로 필터링 */
SELECT *
FROM emp
WHERE 1=1
AND job = 'SALESMAN'
AND mgr = '7698'
/* 2번 케이스 mgr, salary 기준으로 필터링 */
SELECT *
FROM emp
WHERE 1=1
AND mgr = '7698'
AND salary > 1000
기타 궁금하신 사항은 댓글 남겨주세요.
감사합니다.
1. 젠트의 프로그래밍 세상, [Oracle] 조건문에 1=1 사용하는 이유 (WHERE,. 동적쿼리), https://gent.tistory.com/141
2. 코딩 팩토리, [Oracle] 오라클 동적 쿼리 사용법 & 예제 (PL/SQL), https://coding-factory.tistory.com/457
[DB 튜닝] DB 튜닝 개론 / 기초 (0) | 2021.12.06 |
---|---|
[Oracle] 날짜 표시 형식 변경하기 (시분초까지 보이게하기) (0) | 2021.06.19 |
[Oracle] 오라클 테이블, 컬럼, 인덱스, 코멘트 정보 조회 (0) | 2021.05.29 |
[SQL 실행과정] 파싱(Parsing), 소프트파싱(Soft parsing), 하드 파싱(Hard parsing) - SQL 쿼리 처리 과정 (0) | 2021.04.18 |
[Oracle DB] 오라클 DB 백그라운드 프로세스별 역할 (0) | 2021.04.18 |