중복 데이터에 대한 Oracle 쿼리
데이터베이스에서 중복 데이터를 쿼리해야 하는 경우 Oracle에서 다양한 방법을 사용하여 이를 수행할 수 있습니다. Oracle에서 중복 데이터는 동일한 열에 동일한 값이 나타나는 경우가 많으며 이러한 값이 두 번 이상 나타납니다.
다음은 Oracle 중복 데이터를 쿼리하는 여러 가지 방법을 소개합니다.
방법 1: GROUP BY 및 HAVING 사용
GROUP BY 및 HAVING은 데이터를 그룹화하고 필터링하는 데 사용됩니다. 이 두 문을 함께 사용하여 중복 데이터를 쿼리할 수 있습니다.
예를 들어 직원 이름(ename)과 급여(sal)라는 두 개의 필드가 포함된 직원이라는 테이블이 있습니다. 급여가 중복된 직원의 이름과 급여를 쿼리하려면 다음 문을 사용할 수 있습니다.
SELECT ename, sal, COUNT() FROM 직원 GROUP BY ename, sal HAVING COUNT() >
위 쿼리를 실행하면 해당 문 이후에 급여가 반복되는 모든 직원의 이름과 급여를 얻을 수 있습니다. 방법 2: 윈도우 함수 사용 윈도우 함수는 쿼리 결과에서 집계 또는 분석 함수를 계산할 수 있는 방법입니다. 창 함수를 사용하여 중복 데이터를 쿼리할 수 있습니다. 예를 들어 주문 번호(order_id)와 판매량(sales)이라는 두 개의 필드가 포함된 주문이라는 테이블이 있습니다. 반복 판매가 있는 주문 번호와 판매량을 쿼리하려면 다음 문을 사용할 수 있습니다. SELECT order_id, sales FROM ( SELECT order_id, sales, COUNT(*) OVER(PARTITION BY sales) AS cnt FROM Orders ) WHERE cnt > 1; 위 쿼리문을 실행하면 모든 반복 판매의 주문 번호와 판매량을 얻을 수 있습니다. 방법 3: 셀프 조인 사용 셀프 조인은 동일한 테이블의 서로 다른 인스턴스를 연결하여 데이터를 쿼리하는 방법입니다. 셀프 조인을 사용하여 중복 데이터를 쿼리할 수 있습니다. 예를 들어 고객 이름(이름)과 휴대폰 번호(전화)라는 두 개의 필드가 포함된 고객이라는 테이블이 있습니다. 휴대폰 번호가 중복된 고객의 이름과 휴대폰 번호를 쿼리하려면 다음 명령문을 사용할 수 있습니다. SELECT c1.name, c1.phone FROM 고객 c1 JOIN 고객 c2 ON c1.phone = c2.phone AND c1.name < > c2.name; 위 쿼리문을 실행하면 중복된 휴대폰 번호가 포함된 모든 고객 이름과 휴대폰 번호를 얻을 수 있습니다. Summary 오라클에서는 GROUP BY, HAVING, 윈도우 함수, 셀프 조인 등 다양한 문을 사용하여 반복되는 데이터를 쿼리할 수 있습니다. 이를 사용할 때 보다 효율적인 쿼리 효과를 얻으려면 실제 상황에 따라 적절한 방법을 선택해야 합니다. 동시에 쿼리 시간과 소모되는 리소스를 최대한 줄이기 위해 쿼리문 최적화에도 주의를 기울여야 합니다.위 내용은 오라클 쿼리 중복 데이터의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!