- 논리 연산자 : 두 개 이상의 조건 검색 시 사용할 때, 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 이상인 경기인 도시 검색
- 따라서 괄호로 우선순위를 명확히 지정하는 것이 좋음!