두 테이블의 결과를 결합하는 UNION을 사용하여
최대 Bossi가 작성한 기사
SQL 언어는 같은 SELECT 문을 두 개의 서로 다른 테이블의 결과 내에서 결합하는 비교적 간단한 방법으로 우리를 제공합니다.
이를 위해서는 유니온 all'opertore을 사용하는 시간이되는 것입니다, 사실이라면, 두 테이블을 쿼리하여 얻은 결과의 조합.
(기사는 아래에 계속됩니다 ...)
적절하게 사용하기 위해서합니다, 그 UNION 연산자 시간 :
- 테이블 컬럼의 동일한 번호에 대해 쿼리됩니다;
- 열이 같은 이름을 가지고 줄 것을 요청합니다;
- 두 테이블에서 필요한 컬럼은 일관된 데이터 형식이 있는지;
-
hotel_italia
- 이름
- 별빛
- 도시
- 민족
-
hotel_europa
- 이름
- 별빛
- 도시
- 민족
이름, 별, 도시, 국가를 선택하세요 hotel_italia FROM 연합 이름, 별, 도시, 국가를 선택하세요 hotel_europa FROM이 쿼리를 통해 우리는 두 테이블에있는 모든 호텔의 전체 목록을 가져오지 :
| 이름 | 별빛 | 도시 | 민족 |
| 호텔 Cavour | 4 | 로마 | IT |
| 호텔 미라 마레 | 2 | 보편적인 | IT |
| 호텔 만조니 | 2 | 밀라노 | IT |
| 호텔 에스파냐 | 3 | 마드리드 | ES |
| 힐튼 호텔 | 5 | 런던 | 영국 |
| 호텔 오전 Schlossgarten | 4 | 슈트 트가 르트 | 드 |
UNION은 중복 레코드를 (그것이 계셨던 것처럼 기본적으로 운영하고 보여주지 않는 것에주의하십시오 : 참고 SELECT DISTINCT )와 원하시면 중복 레코드도 (예제로 생각이에 호텔 표시 ) 그 hotel_italia hotel_europa의 테이블에 모두 모두 UNION을 사용해야합니다.
UNION의 결과를 정렬 및 제한
UNION의 사용으로 인한 결과가 대부분이며 그들이 지정한 수를 제한하고자하고 있다고 가정합시다. 어떻게하나요? 여기 해결책은 다음과 같습니다
부터 *를 선택하세요 (SELECT 이름, 별,시, hotel_italia로부터 나라 연합 이름, 별,시, hotel_europa로부터 국가)를 선택 호텔로 DESC 정렬 10 별을를 제한기본적으로 우리는 그들이 우리가 정상적인 정렬과 한계를 이용할 수 있도록함으로써, 단일 테이블의 파생물 것처럼 둘 이상의 테이블의 조합으로 인한 결과를 취급합니다.






