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

MySQL에서 'AND'와 '&&'의 차이점은 무엇입니까?

<시간/>

참고:AND와 &&의 차이점은 AND가 표준이고 &&가 소유권 구문이라는 것입니다.

위의 문장을 제외하고 AND와 &&사이에는 차이가 없습니다. 모든 조건을 살펴보겠습니다.

AND와 &&의 결과는 항상 1 또는 0입니다. AND와 &&는 모두 논리 연산자라는 것을 알고 있습니다. 둘 이상의 피연산자가 있고 그 중 하나의 값이 0이면 결과는 0이 아니면 1이 됩니다.

다음은 AND 및 &&의 데모입니다.

사례 1(a) :두 피연산자가 모두 1인 경우 AND를 사용합니다.

쿼리는 다음과 같습니다.

mysql> select 1 AND 1 as Result;

다음은 출력입니다.

+--------+
| Result |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)

사례 1(b) :두 피연산자가 모두 1인 경우 &&를 사용합니다.

쿼리는 다음과 같습니다.

mysql> select 1 && 1 as Result;

다음은 출력입니다.

+--------+
| Result |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)

사례 2(a) :하나의 피연산자가 0이면 결과는 0이 됩니다. AND를 사용합니다.

쿼리는 다음과 같습니다.

mysql> select 1 AND 0 as Result;

다음은 출력입니다.

+--------+
| Result |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)

사례 2(b) :하나의 피연산자가 0이면 결과는 0이 됩니다. &&를 사용합니다.

쿼리는 다음과 같습니다.

mysql> select 1 && 0 as Result;

다음은 출력입니다.

+--------+
| Result |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)

다음은 NULL 경우입니다.

사례 3(a): 하나의 피연산자가 NULL이면 결과는 NULL이 됩니다. AND 사용.

쿼리는 다음과 같습니다.

mysql> select NULL AND 1 as Result;

다음은 출력입니다.

+--------+
| Result |
+--------+
|   NULL |
+--------+
1 row in set (0.00 sec)

사례 3(b) :피연산자 중 하나라도 NULL이면 결과는 NULL이 됩니다. &&사용.

쿼리는 다음과 같습니다.

mysql> select NULL && 1 as Result;

다음은 출력입니다.

+--------+
| Result |
+--------+
|   NULL |
+--------+
1 row in set (0.00 sec)

참고:위에서 논의한 경우는 1과 0에만 의존하지 않습니다. 0이 아닌 값은 모두 true가 됩니다. 즉, 두 개의 음수에 AND 또는 &&를 수행하면 결과가 1이 됩니다.

부정적인 경우를 보십시오. 쿼리는 다음과 같습니다.

mysql> select -10 AND -30 as Result;
+--------+
| Result |
+--------+
|      1 |
+--------+
1 row in set (0.04 sec)
mysql> select -10 && -30 as Result;
+--------+
| Result |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)

위의 경우 하나의 값이 0이면 결과는 AND와 &&모두에서 0이 됩니다. 쿼리는 다음과 같습니다.

mysql> select -10 AND 0 as Result;
+--------+
| Result |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)

긍정적인 경우를 보십시오. 쿼리는 다음과 같습니다.

mysql> select 10 AND 30 as Result;
+--------+
| Result |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)
mysql> select 10 && 30 as Result;
+--------+
| Result |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)

여기서 하나의 피연산자가 0이 되면 결과는 0이 됩니다. 쿼리는 다음과 같습니다.

mysql> select 10 and 0 as Result;
+--------+
| Result |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)
mysql> select 10 && 0 as Result;
+--------+
| Result |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)