찾다
데이터 베이스Oracle오라클에서 중복 데이터를 제거하는 방법

Oracle에서는 Distinct 키워드를 사용하여 중복 데이터를 제거하고 결과 집합에서 중복 행을 필터링할 수 있습니다. 이 키워드는 SELECT 절에 반환된 지정된 열의 값이 "SELECT"인지 확인할 수 있습니다. DISTINCT 필드 이름 FROM 데이터 테이블 이름;".

오라클에서 중복 데이터를 제거하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

Oracle에서는 Distinct 키워드를 사용하여 중복 데이터를 제거할 수 있습니다.

Oracle 고유 키워드

SELECT 문에서 DISTINCT 절을 사용하여 결과 집합에서 중복 행을 필터링합니다. SELECT 절의 지정된 열에 반환된 값이 고유한지 확인합니다.
SELECT语句中使用DISTINCT子句来过滤结果集中的重复行。它确保在SELECT子句中返回指定的一列或多列的值是唯一的。

以下说明了SELECT DISTINCT语句的语法:

SELECT DISTINCT
  column_name
FROM
  table_name;

在上面语法中,table_name表的column_name列中的值将进行比较以过滤重复项。

要根据多列检索唯一数据,只需要在SELECT子句中指定列的列表,如下所示:

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

在此语法中,column_1column_2column_n中的值的组合用于确定数据的唯一性。

DISTINCT子句只能在SELECT语句中使用。

请注意,DISTINCT不是SQL标准的UNIQUE的同义词。总是使用DISTINCT而不使用UNIQUE是一个好的习惯。

Oracle DISTINCT示例

下面来看看如何使用SELECT DISTINCT来看看它是如何工作的一些例子。

1. Oracle DISTINCT在一列上应用的示例

查看示例数据库中的联系人(contacts)表:

오라클에서 중복 데이터를 제거하는 방법

以下示例检索所有联系人的名字:

SELECT first_name
FROM contacts
ORDER BY first_name;

执行上面查询语句,得到以下结果 -

오라클에서 중복 데이터를 제거하는 방법

该查询返回了319行,表示联系人(contacts)表有319行。

要获得唯一的联系人名字,可以将DISTINCT关键字添加到上面的SELECT语句中,如下所示:

SELECT DISTINCT first_name
FROM contacts
ORDER BY first_name;

执行上面查询语句,得到以下结果 -

오라클에서 중복 데이터를 제거하는 방법

该查询返回了302行,表示联系人(contacts)表有17行是重复的,它们已经被过滤了。

2. Oracle DISTINCT应用多列示例

看下面的order_items表,表的结构如下:

오라클에서 중복 데이터를 제거하는 방법

以下语句从order_items表中选择不同的产品ID和数量:

SELECT
    DISTINCT product_id,
    quantity
FROM
    ORDER_ITEMS
ORDER BY product_id;

执行上面查询语句,得到以下结果 -

오라클에서 중복 데이터를 제거하는 방법

在此示例中,product_idquantity列的值都用于评估结果集中行的唯一性。

3. Oracle DISTINCT和NULL

DISTINCTNULL值视为重复值。如果使用SELECT DISTINCT语句从具有多个NULL值的列中查询数据,则结果集只包含一个NULL值。

请参阅示例数据库中的locations表,结构如下所示 -

오라클에서 중복 데이터를 제거하는 방법

以下语句从state列中检索具有多个NULL值的数据:

SELECT DISTINCT state
FROM locations
ORDER BY state NULLS FIRST;

执行上面示例代码,得到以下结果 -

오라클에서 중복 데이터를 제거하는 방법

正如上图所看到的,只返回一个NULL

다음은 SELECT DISTINCT 문의 구문을 보여줍니다.

rrreee위 구문에서 table_namecolumn_name 열에 있습니다. /code> 테이블의 값을 비교하여 중복 항목을 필터링합니다.

여러 열을 기반으로 고유한 데이터를 검색하려면 다음과 같이 SELECT 절에 열 목록을 지정하면 됩니다. 🎜rrreee🎜이 구문에서는 column_1, column_2column_n의 값은 데이터의 고유성을 결정하는 데 사용됩니다. 🎜🎜 DISTINCT 절은 SELECT 문에서만 사용할 수 있습니다. 🎜🎜DISTINCT는 SQL 표준 UNIQUE의 동의어가 아닙니다. UNIQUE 대신 항상 DISTINCT를 사용하는 것이 좋습니다. 🎜

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

1. 한 열에 적용된 Oracle DISTINCT의 예

🎜샘플 데이터베이스에서 연락처(contacts) 테이블을 봅니다. 🎜🎜오라클에서 중복 데이터를 제거하는 방법🎜🎜The 모든 연락처의 이름을 검색하는 다음 예: 🎜rrreee🎜위 쿼리 문을 실행하고 다음 결과를 얻습니다.🎜🎜오라클에서 중복 데이터를 제거하는 방법🎜🎜 쿼리에서 319 행이 반환되었으며, 이는 연락처(contacts)를 나타냅니다. 테이블에 319줄이 있습니다. 🎜🎜고유한 연락처 이름을 얻으려면 아래와 같이 위의 SELECT 문에 DISTINCT 키워드를 추가할 수 있습니다. 🎜rrreee🎜위의 쿼리 문을 실행하고 다음 결과-🎜🎜오라클에서 중복 데이터를 제거하는 방법 🎜🎜이 쿼리는 302 행을 반환했는데, 이는 연락처(contacts) 테이블의 17 행이 중복되어 필터링되었음을 나타냅니다. 🎜

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

🎜아래 order_items 테이블의 구조를 살펴보세요. 다음과 같습니다: 🎜🎜 🎜🎜다음 문은 order_items 테이블에서 가져온 것입니다. 🎜rrreee🎜위 쿼리 문을 실행하고 다음 결과를 얻습니다.🎜🎜오라클에서 중복 데이터를 제거하는 방법🎜🎜이 예에서는 product_id수량 열 값은 결과 집합에서 행의 고유성을 평가하는 데 사용됩니다. 🎜

3. Oracle DISTINCT 및 NULL

🎜DISTINCTNULL 값을 중복으로 처리합니다. 가치. SELECT DISTINCT 문을 사용하여 여러 NULL 값이 있는 열에서 데이터를 쿼리하는 경우 결과 집합에는 하나의 NULL 값만 포함됩니다. 🎜🎜샘플 데이터베이스의 locations 테이블을 참조하세요. 구조는 다음과 같습니다-🎜🎜오라클에서 중복 데이터를 제거하는 방법🎜🎜다음 문은 stateNULL 값이 있는 데이터를 검색합니다. /code> 열 :🎜rrreee🎜위의 샘플 코드를 실행하면 다음과 같은 결과가 나옵니다.🎜🎜🎜🎜위 그림에서 볼 수 있듯이 NULL 값만 반환됩니다. 🎜🎜추천 튜토리얼: "🎜Oracle Tutorial🎜"🎜

위 내용은 오라클에서 중복 데이터를 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

oracle asm指的是“自动存储管理”,是一种卷管理器,可自动管理磁盘组并提供有效的数据冗余功能;它是做为单独的Oracle实例实施和部署。asm的优势:1、配置简单、可最大化推动数据库合并的存储资源利用;2、支持BIGFILE文件等。

oracle怎么查询所有索引oracle怎么查询所有索引May 13, 2022 pm 05:23 PM

方法:1、利用“select*from user_indexes where table_name=表名”语句查询表中索引;2、利用“select*from all_indexes where table_name=表名”语句查询所有索引。

Oracle怎么查询端口号Oracle怎么查询端口号May 13, 2022 am 10:10 AM

在Oracle中,可利用lsnrctl命令查询端口号,该命令是Oracle的监听命令;在启动、关闭或重启oracle监听器之前可使用该命令检查oracle监听器的状态,语法为“lsnrctl status”,结果PORT后的内容就是端口号。

oracle全角怎么转半角oracle全角怎么转半角May 13, 2022 pm 03:21 PM

在oracle中,可以利用“TO_SINGLE_BYTE(String)”将全角转换为半角;“TO_SINGLE_BYTE”函数可以将参数中所有多字节字符都替换为等价的单字节字符,只有当数据库字符集同时包含多字节和单字节字符的时候有效。

oracle怎么删除sequenceoracle怎么删除sequenceMay 13, 2022 pm 03:35 PM

在oracle中,可以利用“drop sequence sequence名”来删除sequence;sequence是自动增加数字序列的意思,也就是序列号,序列号自动增加不能重置,因此需要利用drop sequence语句来删除序列。

oracle怎么查询数据类型oracle怎么查询数据类型May 13, 2022 pm 04:19 PM

在oracle中,可以利用“select ... From all_tab_columns where table_name=upper('表名') AND owner=upper('数据库登录用户名');”语句查询数据库表的数据类型。

oracle查询怎么不区分大小写oracle查询怎么不区分大小写May 10, 2022 pm 05:45 PM

方法:1、利用“LOWER(字段值)”将字段转为小写,或者利用“UPPER(字段值)”将字段转为大写;2、利用“REGEXP_LIKE(字符串,正则表达式,'i')”,当参数设置为“i”时,说明进行匹配不区分大小写。

Oracle怎么修改sessionOracle怎么修改sessionMay 13, 2022 pm 05:06 PM

方法:1、利用“alter system set sessions=修改后的数值 scope=spfile”语句修改session参数;2、修改参数之后利用“shutdown immediate – startup”语句重启服务器即可生效。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!