[sql] and, or 연산자 우선순위

Eunkyung·2021년 8월 30일
0

DB

목록 보기
1/3
  • 논리 연산자 : 두 개 이상의 조건 검색 시 사용할 때, and, or 연산자 사용
  • and : 두 조건이 모두 참인 레코드 검색
  • or : 두 조건 중 하나라도 참인 레코드 검색

  • and의 우선순위가 or보다 높기 때문에 두 쿼리문은 결과가 다르다
select * from tcity where region = '경기' and popu >= 50 or area >= 500;
  • 처음 생각했던 순서 : 지역이 경기이면서 인구가 50만 이상이거나 면적이 500 이상인 도시 검색
  • 결과 : 지역이 경기이면서 인구가 50만 이상이거나, 경기가 아니고 인구가 50만보다 적으면서 면적은 500 이상인 도시 검색
    => (where region = '경기' and popu >= 50) or area >= 500;
select * from tcity where region = '경기' and (popu >= 50 or area >= 500);
  • 결과 : 인구가 50만 이상이거나 면적이 500 이상인 경기인 도시 검색
  • 따라서 괄호로 우선순위를 명확히 지정하는 것이 좋음!
profile
꾸준히 하자

0개의 댓글