mysql에서 Union은 여러 Select 문의 결과를 하나의 결과 집합으로 결합하고 결과 집합에서 중복된 데이터를 삭제하는 데 사용됩니다. 구문은 "select 열,...from table1 Union select 열,...from table2"입니다. " .
이 튜토리얼의 운영 환경: windows10 시스템, mysql8.0.22 버전, Dell G3 컴퓨터.
1.mysql Union 구문
mysql Union은 여러 select 문의 결과를 결과 세트로 결합하는 데 사용됩니다. 구문은 다음과 같습니다.
select column,......from table1 union [all] select column,...... from table2 ...
여러 select 문에서 해당 열은 동일한 필드 속성을 가져야 하며, 첫 번째 select 문에 사용된 필드 이름도 결과의 필드 이름으로 사용됩니다.
1.1 Union과 Union All의 차이점
union을 사용하면 mysql은 결과 집합에서 중복 레코드를 삭제하고, Union all을 사용하면 mysql은 모든 레코드를 반환하므로 효율성이 Union보다 높습니다.
2. Mysql Union 사용 예
union은 일반적으로 서로 다른 데이터 분류 테이블, 데이터 기록 테이블 등 데이터와 유사한 두 개 이상의 테이블을 쿼리하는 데 사용됩니다. 다음은 테스트에 사용되는 두 테이블입니다.
2.1 UNION 쿼리
를 사용하여 두 테이블의 기사 ID 번호와 제목을 쿼리하고 중복 레코드를 제거합니다.
SELECT aid,title FROM article UNION SELECT bid,title FROM blog
반환된 쿼리 결과는 다음과 같습니다.
2.2. UNION 쿼리 결과 설명
중복 레코드는 쿼리의 각 필드가 완전히 반복되는 레코드를 의미합니다. 위의 예와 같이 제목은 동일하지만 ID 번호가 다른 경우에는 다른 레코드로 간주됩니다.
첫 번째 SELECT 문에 사용된 필드 이름은 위 예시의 Aid와 같이 결과의 필드 이름에도 사용됩니다.
각 SELECT 문의 필드 이름은 다를 수 있지만 필드 속성은 일관되어야 합니다.
3. UNION ALL 쿼리
를 사용하여 두 테이블의 기사 ID 번호와 제목을 쿼리하고 모든 레코드를 반환합니다.
SELECT aid,title FROM article UNION ALL SELECT bid,title FROM blog
반환된 쿼리 결과는 다음과 같습니다.
UNION ALL을 사용할 경우 , 데이터 중복 여부를 확인하지 않고 쿼리를 그룹화하기만 하면 됩니다. 따라서 쿼리 결과에 중복된 데이터가 없을 것이라고 판단되거나 중복된 데이터를 제거할 필요가 없다고 판단되는 경우에는 UNION ALL을 사용하여 쿼리 효율성을 높여야 한다.
추천 학습: mysql 비디오 튜토리얼
위 내용은 mysql에서 Union의 사용법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!