> 데이터 베이스 > MySQL 튜토리얼 > MySQL에서 INTERSECT 연산자의 기능을 복제하는 방법은 무엇입니까?

MySQL에서 INTERSECT 연산자의 기능을 복제하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-28 06:24:15
원래의
512명이 탐색했습니다.

How to Replicate the INTERSECT Operator's Functionality in MySQL?

MySQL의 Intersect 연산자에 대한 대안

Microsoft SQL Server에 있는 INTERSECT 연산자는 두 쿼리 결과 모두에 나타나는 중복 값을 반환합니다. . MySQL에는 이 연산자가 없기 때문에 대체 접근 방식이 필요합니다.

MySQL 대안

MySQL에서 INTERSECT와 동일한 기능을 얻으려면 다음을 사용하는 것이 좋습니다.

  • DISTINCT를 사용한 INNER JOIN: 다음에서 고유한 값을 선택합니다. 두 테이블의 조인.
SELECT DISTINCT value FROM table_a
INNER JOIN table_b
USING (value);
로그인 후 복사
  • WHERE ... IN with DISTINCT: 두 번째 테이블에 있는 값을 기준으로 첫 번째 테이블의 레코드를 필터링합니다.
SELECT DISTINCT value FROM table_a
WHERE (value) IN (SELECT value FROM table_b);
로그인 후 복사

예시 쿼리

다음 쿼리를 고려하십시오.

(SELECT * FROM emovis_reporting WHERE (id=3 AND cut_name= '全プロセス' AND cut_name='恐慌') ) 
INTERSECT
( SELECT * FROM emovis_reporting WHERE (id=3) AND ( cut_name='全プロセス' OR cut_name='恐慌') )
로그인 후 복사

DITINCT와 함께 INNER JOIN을 사용하는 MySQL 대안:

SELECT DISTINCT * FROM emovis_reporting
INNER JOIN (SELECT * FROM emovis_reporting WHERE ID=3 AND cut_name='全プロセス') AS t1
ON cut_name='恐慌';
로그인 후 복사

WHERE ... IN을 사용하는 MySQL 대안 구별:

SELECT DISTINCT * FROM emovis_reporting
WHERE (id, cut_name) IN (
  SELECT id, cut_name FROM emovis_reporting
  WHERE>
로그인 후 복사

위 내용은 MySQL에서 INTERSECT 연산자의 기능을 복제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿