首頁> 資料庫> Oracle> 主體

oracle中distinct用法

下次还敢
發布: 2024-05-02 23:12:56
原創
427 人瀏覽過

DISTINCT 運算子從結果集中刪除重複行,可用於擷取唯一值或消除連接結果中的重複行。它可以應用於單一表,使用多個表消除重複行,或使用多個列作為參數。 DISTINCT 可能會影響查詢效能,因為它不利用索引並可能延長處理時間。

oracle中d​​istinct用法

Oracle 中 DISTINCT 用法

DISTINCT 運算子用於從結果集中刪除重複行。它可以用來提取表中唯一的值,或從多個表中連接結果時消除重複行。

語法:

SELECT DISTINCT column_name(s) FROM table_name(s) [WHERE condition(s)];
登入後複製

如何使用:

  1. 從單一表格中刪除重複行:
SELECT DISTINCT column_name FROM table_name;
登入後複製

例如,以下查詢將從"employee" 表中提取所有不重複的"salary" 列值:

SELECT DISTINCT salary FROM employee;
登入後複製
  1. ##從多個表中消除重複行:
  2. SELECT DISTINCT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
    登入後複製
例如,以下查詢將從"employee" 表和"department" 表中提取所有不重複的"name" 列值,其中"employee_id " 列匹配:

SELECT DISTINCT e.name, d.name FROM employee e INNER JOIN department d ON e.department_id = d.department_id;
登入後複製
  1. 使用多列刪除重複行:
您可以使用多個列作為DISTINCT 的參數,以消除具有相同列值組合的行。語法如下:

SELECT DISTINCT (column_name1, column_name2, ...) FROM table_name;
登入後複製
例如,以下查詢將從"student" 表中提取所有不重複的"(name, age)" 組合:

SELECT DISTINCT (name, age) FROM student;
登入後複製

注意事項:

    DISTINCT 運算子只用於從結果集中刪除重複行,它不能保證以任何特定順序傳回行。
  • 當使用 DISTINCT 時,索引無法充分利用,這可能會影響查詢效能。
  • DISTINCT 可能會增加查詢處理時間,尤其是對於大型資料集。

以上是oracle中distinct用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!