>  기사  >  오라클에서 구별의 사용법은 무엇입니까?

오라클에서 구별의 사용법은 무엇입니까?

百草
百草원래의
2023-07-11 09:35:565644검색

Oracle의 고유한 사용법은 "SELECT" 절에 반환된 지정된 열의 값이 고유한지 확인하기 위해 결과 집합의 중복 행을 필터링할 수 있습니다. 구문은 "SELECT DISTINCT 열 1, 열 2, 열 3... 테이블 이름에서"입니다. "distinct"는 반환된 결과 집합을 정렬하고 효율성을 높이기 위해 "order by"와 함께 사용할 수 있습니다.

오라클에서 구별의 사용법은 무엇입니까?

이 문서의 운영 환경: Windows 10 시스템, Oracle 버전 19c, DELL G3 컴퓨터.

Oracle Distinct Usage

SELECT DISTINCT를 사용하면 결과 집합의 중복 행을 필터링하여 SELECT 절에 반환된 지정된 열의 값이 고유한지 확인할 수 있습니다.

고유 레코드의 모든 값을 반환하는 데 사용하는 대신 고유 레코드 수를 반환하는 데만 사용하세요. 그 이유는 구별은 이중 루프 쿼리로만 해결될 수 있기 때문이며, 이는 의심할 여지 없이 매우 많은 양의 데이터가 있는 웹 사이트의 효율성에 직접적인 영향을 미칠 것입니다.

distinct는 반환된 결과 집합을 정렬하므로 효율성을 높이기 위해 order by와 함께 사용하는 것이 가장 좋습니다.

Oracle SELECT DISTINCT 사용법

SELECT DISTINCT 문의 구문은 다음과 같습니다.

SELECT DISTINCT
    column_1
        FROM
    table_name;

위 구문에서 table_name 테이블의 ​column_1 열에 있는 값을 비교하여 중복 항목을 필터링합니다.

여러 열을 기반으로 고유한 데이터를 검색하려면 아래와 같이 SELECT 절에 열 목록을 지정하면 됩니다.

SELECT DISTINCT column_1,
    column_2,
        ...
        FROM
    table_name;

이 구문에서는 열_1, 열_2, 열_n의 값 조합을 사용하여 고유성을 결정합니다. 데이터 섹스.

DISTINCT 절은 SELECT 문에서만 사용할 수 있습니다.

Oracle에서는 DISTINCT와 UNIQUE 사이에 차이가 없습니다. DISTINCT는 ANSI 표준을 따르며 UNIQUE는 Oracle 전용 사용법이므로 ANSI 표준을 따르는 DISTINCT를 사용하는 것이 더 좋습니다. .

Oracle DISTINCT 예제

다음은 SELECT DISTINCT를 사용하여 작동 방식을 확인하는 방법에 대한 몇 가지 예입니다.

1. Oracle DISTINCT의 간단한 예

다음은 테이블

字段1     字段2
 id       name
 1         a
 2         b
 3         c
 4         c
 5         b

입니다. 하나의 문을 사용하여 중복되지 않은 이름을 가진 모든 데이터를 쿼리하려면, Unique를 사용하여 중복된 중복 레코드를 제거해야 합니다. 따라서 먼저

select *, count(distinct name) from table group by name

를 입력한 다음

id name count(distinct name)

를 입력하고 결과를 얻습니다.

1 a 1
2 b 1
3 c 1

2. 열에 대한 Oracle DISTINCT 애플리케이션 예

다음 예는 모든 연락처의 이름을 검색합니다.

SELECT first_name
FROM contacts
ORDER BY first_name;

위 쿼리를 실행합니다. 명령문, 다음 결과를 얻었습니다.

오라클에서 구별의 사용법은 무엇입니까?

쿼리에서 319개의 행이 반환되었으며, 이는 연락처 테이블에 319개의 행이 있음을 나타냅니다.

고유한 연락처 이름을 얻으려면 아래와 같이 위의 SELECT 문에 DISTINCT 키워드를 추가할 수 있습니다.

오라클에서 구별의 사용법은 무엇입니까?

쿼리는 302개의 행을 반환했는데, 이는 연락처 테이블에 17개의 행이 있음을 나타냅니다. 중복되어 필터링되었습니다. .

2. Oracle DISTINCT 애플리케이션 다중 열 예

아래의 order_items 테이블을 살펴보세요. 테이블의 구조는 다음과 같습니다.

오라클에서 구별의 사용법은 무엇입니까?

다음 명령문은 order_items 테이블에서 다양한 제품 ID와 수량을 선택합니다.

위 쿼리문을 실행하면 다음과 같은 결과가 나옵니다.

오라클에서 구별의 사용법은 무엇입니까?

이 예에서는 product_id 열과 수량 열의 값을 모두 사용하여 결과 집합에 있는 행의 고유성을 평가합니다.

3. Oracle DISTINCT 및 NULL

DISTINCT는 NULL 값을 중복 값으로 처리합니다. SELECT DISTINCT 문을 사용하여 여러 NULL 값이 있는 열에서 데이터를 쿼리하는 경우 결과 집합에는 하나의 NULL 값만 포함됩니다.

샘플 데이터베이스의 위치 테이블을 참조하세요. 구조는 다음과 같습니다.

오라클에서 구별의 사용법은 무엇입니까?

다음 명령문은 상태 열에서 여러 개의 NULL 값이 있는 데이터를 검색합니다.

SELECT
    DISTINCT product_id,
    quantity
FROM
    ORDER_ITEMS
ORDER BY product_id;

위 샘플 코드를 실행하면, 다음과 같은 결과를 얻습니다.

오라클에서 구별의 사용법은 무엇입니까?

위 그림에서 볼 수 있듯이 NULL 값만 반환됩니다.

위 내용은 오라클에서 구별의 사용법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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