Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL이 "TRUE 또는 TRUE 및 FALSE"를 true로 평가하는 이유는 무엇입니까?

<시간/>

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)