관계형 데이터베이스 영역에서는 한 테이블에 있지만 없는 데이터를 격리해야 하는 경우가 많습니다. 또 다른. Anti-Join 또는 Left Anti-Semi-Join으로 알려진 이 작업은 중복되거나 중복된 레코드를 필터링하는 데 중요한 역할을 합니다.
MySQL에서 이 작업을 수행하려면 다음과 같은 Anti-Join 쿼리를 사용하는 것이 좋습니다. :
SELECT * FROM Table1 WHERE FirstName NOT IN (SELECT FirstName FROM Table2)
이 쿼리에서는 FirstName 열이 비교 기준으로 활용됩니다. 이 쿼리는 Table1에서 FirstName 값이 Table2에 나타나지 않는 모든 행을 검색합니다.
예를 들어, 다음을 포함하는 Table1과 Table2라는 두 개의 테이블이 있다고 가정합니다. 데이터:
FirstName | LastName | BirthDate |
---|---|---|
Tia | Carrera | 1975-09-18 |
Nikki | Taylor | 1972-03-04 |
Yamila | Diaz | 1972-03-04 |
FirstName | LastName | BirthDate |
---|---|---|
Tia | Carrera | 1975-09-18 |
Nikki | Taylor | 1972-03-04 |
이러한 테이블에 대해 조인 방지 쿼리를 실행하면 다음과 같은 결과가 나타납니다. 출력:
+-----------+----------+------------+ | FirstName | LastName | BirthDate | +-----------+----------+------------+ | Yamila | Diaz | 1972-03-04 | +-----------+----------+------------+
이 결과는 Yamila Diaz가 Table1에는 있지만 Table2에는 없음을 나타냅니다.
선택 기준은 둘 사이의 공통 열을 기반으로 할 수 있다는 점에 유의하는 것이 중요합니다. 테이블. 예를 들어, 두 테이블 모두에 id 필드가 있는 경우 쿼리는 다음과 같이 다시 작성될 수 있습니다.
SELECT * FROM Table1 WHERE id NOT IN (SELECT id FROM Table2)
Anti-Join 쿼리를 활용하면 한 테이블에 존재하지만 테이블에서 제외되는 데이터를 효과적으로 식별하고 추출할 수 있습니다. 또 다른. 이 기술은 데이터 정리, 기록 조정 및 기타 데이터 분석 작업에 매우 중요합니다.
위 내용은 MySQL에서 한 테이블에 고유한 행을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!