SQL UNION 연산자
SQL UNION 두 개 이상의 SELECT 문에 대한 운영 결과.
SQL UNION 연산자
UNION 연산 결과 집합 연산자는 둘 이상의 SELECT 문을 결합하는 데 사용.
동일한 수의 열이 있어야합니다 각각의 SELECT 문 안쪽에, UNION을 유의하시기 바랍니다. 열은 유사한 데이터 형식이 있어야합니다. 동시에, 각 SELECT 문 열 순서는 동일해야한다.
SQL UNION 구문
UNION
SELECT column_name(s) FROM table2 ;
참고 : 기본적으로 UNION 연산자는 다른 값을 선택합니다.중복 값을 허용하는 경우, UNION ALL을 사용합니다.
SQL UNION ALL 구문
UNION ALL
SELECT column_name(s) FROM table2 ;
참고 : UNION 결과 집합은 항상 첫 번째 SELECT 문 UNION 열 이름의 열 이름과 동일하다.
데모 데이터베이스
이 튜토리얼에서, 우리는 w3big 샘플 데이터베이스를 사용합니다.
다음은 선택 "웹 사이트"의 테이블 데이터이다 :
+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 本教程 | http://www.w3big.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
다음은 "응용 프로그램"APP 데이터는 다음과 같습니다
mysql> SELECT * FROM apps; +----+------------+-------------------------+---------+ | id | app_name | url | country | +----+------------+-------------------------+---------+ | 1 | QQ APP | http://im.qq.com/ | CN | | 2 | 微博 APP | http://weibo.com/ | CN | | 3 | 淘宝 APP | https://www.taobao.com/ | CN | +----+------------+-------------------------+---------+ 3 rows in set (0.00 sec)
SQL의 UNION 예
다음 SQL 문은 "웹 사이트"및 "앱"테이블에서 모든 다른 나라 (만 다른 값)을 선택합니다 :
예
UNION
앱에서 국가를 선택하십시오
국가 BY ORDER;
출력 결과는 다음과 같습니다 위의 SQL을 실행합니다 :
참고 : UNION은 두 테이블의 모든 나라를 사용할 수 없습니다 나열합니다.같은 나라에서 일부 사이트 및 APP, 각 국가는 한 번만 나열됩니다. UNION은 서로 다른 값을 선택합니다. 사용 UNION이 ALL 중복 값을 선택합니다!
SQL UNION ALL 인스턴스
다음 SQL 문은 "웹 사이트"및 "앱"테이블 (중복 값이있는)에서 국가의 모든 선택 UNION ALL을 사용합니다 :
예
UNION ALL
앱에서 국가를 선택하십시오
국가 BY ORDER;
출력 결과는 다음과 같습니다 위의 SQL을 실행합니다 :
이 어디에와 SQL UNION ALL
다음 SQL 문은 "웹 사이트"및 "앱"테이블 (중복 값이있는)에서 중국 (CN) 데이터를 모두 선택하는 UNION ALL을 사용합니다 :
예
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;
출력 결과는 다음과 같습니다 위의 SQL을 실행합니다 :