[SQL] AND와 OR의 우선순위
연산자간에는 우선순위라는것이 존재한다. 초등학교때 배웠던 +, -, *, / 에 우선순위가 *와 /가 먼저 연산되고 그 이후에 +와 -를 계산하듯 SQL문에 있는 AND와 OR에도 우선순위가 존재한다. 결론부터 말하자면 AND와 OR사이의 우선순위는 AND가 더 높다 . 큰 차이가 없을것같지만 다음 예시와 함께 보면 그 차이를 느낄 수 있을것이다. 위의 그림과 같이 A, B, C 집합이 있을때 (A and B) or C의 결과와 A and (B or C)의 결과를 살펴보도록 하자 (A and B) or C == A and (B or C) 우선 A and B의 결과는 A과 B의 교집합인 A ∩ B = {4, 7} 이다 {4, 7} ∪ C = {7} 인것을 확인할 수 있다. 다음으로 B or C는 B와 C의 합집합인 B ∪ C = {1, 3, 4, 5, 6, 7}이다. 그리고 A and {1, 3, 4, 5, 6, 7} = A ∩ {1, 3, 4, 5, 6, 7} = {4, 7, 6} 인것을 확인할 수 있다. 따라서 (A and B) or C 와 A and (B or C)는 다르다. And와 Or 연산자를 사용할 때 이를 주의해서 사용해야한다. 원하지 않은 결과를 출력할수도있다.