SQL 6 抑制資料重複

2021-05-24 05:12:46 字數 1710 閱讀 7199

如果要檢索公司有哪些垂直部門,那麼可以執行下面的sql語句:

select fdepartment from t_employee

執行完畢我們就能看到下面的執行結果:

+---------------+

| fdepartment   |

+---------------+

| development   |

| development   |

| development   |

| humanresource |

| humanresource |

| infotech      |

| infotech      |

| sales         |

| sales         |

+---------------+

這裡列出了公司所有的垂直部門,不過很多部門名稱是重複的,我們必須去掉這些重複的部門名稱,每個重複部門只保留乙個名稱。

distinct關鍵字是用來進行重複資料抑制的最簡單的功能,而且所有的資料庫系統都支援distinct,distinct的使用也非常簡單,只要在select之後增加distinct即可。比如下面的sql語句用於檢索公司裡有哪些垂直部門,並且一直重複資料的產生:

select distinct fdepartment from t_employee

執行完畢我們就能看到下面的執行結果:

+---------------+

| fdepartment   |

+---------------+

| development   |

| humanresource |

| infotech      |

| sales         |

+---------------+

distinct  是對整個結果集進行資料重複抑制的,而不是針對每乙個列的,執行下面的sql:

select distinct fdepartment, fsubcompany from t_employee

+---------------+-------------+

| fdepartment   | fsubcompany |

+---------------+-------------+

| development   | beijing     |

| development   | shenzhen    |

| development   | guangzhou   |

| humanresource | beijing     |

| infotech      | beijing     |

| infotech      | shenzhen    |

| sales         | beijing     |

+---------------+-------------+

檢索結果中不存在fdepartment和fsubcompany列都重複的資料行,但是卻存在fdepartment列重複的資料行,這就驗證了「distinct是對整個結果集進行資料重複抑制」這句話。

SQL基礎 抑制重複資料

抑制重複資料,使用 distinct 表資料如下 舉例1 查詢表中員工所有的部門資訊 select subdepartment from t employee 查詢的結果中部門重複了,為了消除這種重複,使用 selectdistinctsubdepartment from t employee 注意...

查詢所有員工入職時候的薪水情況 SQL 6

查詢所有員工入職時候的薪水情況,給出emp no以及salary,並按照emp no進行逆序 請注意,乙個員工可能有多次漲薪的情況 create table employees emp no int 11 notnull birth date date notnull first name varc...

sql刪除重複資料

1 建立表 create table dbo test id numeric 18,0 identity 1,1 not null primary key,name varchar 200 collate chinese prc ci as null remark varchar 1024 coll...