>  기사  >  데이터 베이스  >  MySQL 쿼리 결과를 병합하는 방법

MySQL 쿼리 결과를 병합하는 방법

青灯夜游
青灯夜游원래의
2022-01-24 18:00:0822352검색

mysql에서는 UNION 연산자를 사용하여 쿼리 결과를 병합할 수 있습니다. 이 연산자는 두 개 이상의 SELECT 문의 쿼리 결과를 함께 병합한 다음 동일한 레코드를 제거하는 데 사용됩니다. 구문 "쿼리 문 1 유니온 쿼리 문 2 유니온" ....".

MySQL 쿼리 결과를 병합하는 방법

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

mysql에서는 UNION 연산자를 사용하여 쿼리 결과를 병합할 수 있습니다.

UNION 연산자는 두 개 이상의 SELECT 문의 결과를 결과 집합으로 결합하는 데 사용됩니다. 여러 SELECT 문은 중복 데이터를 제거합니다.

구문: ​​

查询语句1
union
查询语句2
union
....

응용 시나리오:

쿼리할 결과는 여러 테이블에서 나오며, 여러 테이블은 직접적인 연결 관계는 없지만 쿼리 정보는 일관됩니다.

특징: ★

1. 필수 쿼리문의 쿼리 열 개수가 일치합니다!

2. 여러 쿼리문이 필요한 쿼리의 각 열의 유형과 순서는 일관되어야 합니다

3. Union all을 사용하면 중복이 기본적으로 제거됩니다.

예: 쿼리 부서 번호>90 또는 이메일 주소에 a의 직원 정보가 포함되어 있습니다

스크린샷과 코드를 바로 아래에 게시하겠습니다

#联合查询

#
SELECT * FROM employees WHERE department_id > 90 OR email LIKE '%a%';
#使用UNION联合查询
SELECT * FROM employees WHERE department_id > 90
UNION
SELECT * FROM employees WHERE email LIKE '%a%';

#
USE test;
#案例:查询中国用户中女性的信息以及外国用户中女性的用户信息
SELECT c.`c_id`, c.`c_name`, c.`c_sex` FROM china c WHERE c_sex = '女'
UNION
SELECT f.`f_id`, f.`f_name`, f.`f_sex` FROM foreignUser f WHERE f_sex = 'female';


#china表和foreignUser表中都有66号韩梅梅(UNION会去重)
SELECT c.`c_id`, c.`c_name` FROM china c WHERE c_sex = '女'
UNION
SELECT f.`f_id`, f.`f_name` FROM foreignUser f WHERE f_sex = 'female';

#china表和foreignUser表中都有66号韩梅梅(UNION ALL 不会去重)
SELECT c.`c_id`, c.`c_name` FROM china c WHERE c_sex = '女'
UNION ALL
SELECT f.`f_id`, f.`f_name` FROM foreignUser f WHERE f_sex = 'female';

UNION을 사용하세요

UNION ALL

사용

【관련 권장 사항: mysql 비디오 튜토리얼

위 내용은 MySQL 쿼리 결과를 병합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.