Search

[필수:정합]AND·OR 혼용 시 괄호 누락

BAD: 361 rows(360건 과다 조회)

AND·OR 괄호 누락
SELECT t1.ord_no ,t1.mbr_id ,t1.ord_dtm ,t1.ord_st FROM startdbpg.tr_ord_big t1 WHERE t1.mbr_id = 'M01658' AND t1.ord_st = 'MFGC' OR t1.ord_st = 'PREP' ORDER BY t1.ord_no ;
SQL
복사
SQL 결과 보기
•
괄호 없이 AND와 OR를 혼용하면 의도와 다른 범위의 데이터가 조회될 수 있습니다. 이 예제는 PREP 상태라면 회원에 관계없이 조회합니다.

GOOD: 1 rows(정상)

OR 조건을 괄호로 묶어 비교
SELECT t1.ord_no ,t1.mbr_id ,t1.ord_dtm ,t1.ord_st FROM startdbpg.tr_ord_big t1 WHERE t1.mbr_id = 'M01658' AND (t1.ord_st = 'MFGC' OR t1.ord_st = 'PREP') ORDER BY t1.ord_no ;
SQL
복사
SQL 결과 보기
•
업무 요건이 ‘M01658 회원의 MFGC 또는 PREP 주문’이라면 주문 상태의 OR 조건을 괄호로 묶어 회원 조건이 두 상태에 모두 적용되도록 합니다.
💡

KEY POINT

•
AND는 OR보다 우선 평가됩니다. 따라서 A AND B OR C는 (A AND B) OR C로 해석됩니다.
•
AND와 OR를 함께 사용할 때는 업무 요건에 맞는 조건의 묶음을 괄호로 명확히 표현합니다. A AND (B OR C)가 의도라면 괄호를 생략해서는 안 됩니다.