如果要檢索公司有哪些垂直部門,那麼可以執行下面的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...