문제

mysql> select count(id) total from applicants;
+-------+
| total |
+-------+
|     0 |
+-------+
1 row in set (0.00 sec)

mysql> select count(id) total from jobs;
+-------+
| total |
+-------+
|     0 |
+-------+
1 row in set (0.00 sec)

mysql> select count(id) total from applicants union select count(id) total from
jobs;
+-------+
| total |
+-------+
|     0 |
+-------+
1 row in set (0.00 sec)

mysql>

"0"이 값으로 두 개의 레코드가 없어야합니까?

도움이 되었습니까?

해결책

연합은 모두 두 가지 진술을 할 것입니다. Union은 항목을 결합하거나 중복 행을 제거하려고 시도합니다.

다른 팁

인용 MySQL 매뉴얼 :

Union의 기본 동작은 결과에서 중복 행이 제거된다는 것입니다.. 선택적 고유 한 키워드는 중복 열 제거를 지정하기 때문에 기본값 이외의 영향을 미치지 않습니다. 모든 키워드 옵션을 사용하면 중복 행 제거가 발생하지 않으며 결과에는 모든 선택 문의 모든 일치하는 행이 포함됩니다.

즉,만으로 UNION, 두 줄이 같은 값을 갖는 경우 그 중 하나는 반환되지 않습니다.

mysql> select 1 union select 1;
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)

그러나 사용하는 경우 UNION ALL, 복제물은 제거되지 않습니다.

mysql> select 1 union all select 1;
+---+
| 1 |
+---+
| 1 |
| 1 |
+---+
2 rows in set (0.00 sec)

Union은 복제를 제거합니다. 대신 유니언을 시도하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top