MySQL은 'TRUE 또는 TRUE 및 FALSE'를 평가합니다. AND가 OR보다 우선 순위가 높기 때문에 true로 설정됩니다. 즉, AND가 OR보다 먼저 평가됩니다.
MySQL은 위의 문장을 이렇게 평가합니다. AND 연산자가 먼저 평가됩니다 -
(TRUE or (TRUE AND FALSE))
명령문(TRUE AND FALSE)은 결과 FALSE를 제공합니다. 그런 다음 두 번째 문은 다음과 같이 평가됩니다. -
(TRUE or FALSE)
위의 명령문은 결과를 TRUE로 제공합니다.
하나씩 구현해 봅시다 -
mysql> select (TRUE AND FALSE); +------------------+ | (TRUE AND FALSE) | +------------------+ | 0 | +------------------+ 1 row in set (0.00 sec)
이제 위의 결과를 AND 조건 -
대신 넣을 수 있습니다.mysql> select (TRUE or FALSE); +-----------------+ | (TRUE or FALSE) | +-----------------+ | 1 | +-----------------+ 1 row in set (0.00 sec)
이제 전체 상태를 다시 한 번 확인하십시오 -
mysql> select (TRUE or TRUE and FALSE);
이것은 다음과 같은 출력을 생성합니다 -
+--------------------------+ | (TRUE or TRUE and FALSE) | +--------------------------+ | 1 | +--------------------------+ 1 row in set (0.00 sec)