Oracle進行數據庫查詢的小技巧

  技巧1、取消重複的行 git

  如在人事管理系統中,有員工基本信息基本表。在這張表中,可能會有部門、職位、員工姓名、身份證件號碼等字段。若查詢這些內容,可能不會有重複的行。可是,我若想知道,在公司內部設置了哪些部門與職位的時候,而且這些部門與職位配置了相關人員。此時,又該如何查詢呢? oracle培訓機構 數據庫

  若我如今直接查詢部門表,其能夠知道系統中具體設置了哪些部門與職位。可是,頗有可能這些部門或者職位因爲人事變更的關係,如今已經沒有人了。因此,這裏查詢出來的是全部的部門與職位信息,而不可以保證這個部門或者職位必定有職員存在。也就是說,這不可以知足於咱們上面的要求。 oracle

  若我如今直接從員工信息表中查詢,雖然能夠保證所查詢出來的部門與職位信息,必定有員工信息的存在。可是,此時查詢出來的部門與職位信息會有重複的行。如採購部門分工合做,可能會有采購採購小組長。此時,在查詢出來的部門與職位的信息中,就會有三條重複的記錄。 數據庫設計

  因此,以上兩種處理方式,都不可以百分之百的知足企業用戶的需求。此時,咱們其實能夠利用一個DISTINCT函數,來消除其中查詢出來的重複行。 函數

  如咱們能夠利用SELECT DISTINCT 部門信息,職位信息 FROM 員工基本信息表。經過這條加了DISTINCT約束的查詢語句,不但能夠查詢出全部有員工的職位與部門信息,並且,會把重複的記錄過濾掉,從而提升可閱讀性。 spa

  因此,在數據庫設計過程當中,特別是在查詢語句的使用中,這個函數特別有用。 設計

  技巧2、利用鏈接符鏈接多個字段 get

  如在員工基本信息表中,有員工姓名、員工職位、出身日期等等。若是如今視圖中這三個字段顯示在同一個字段中,而且中間有分割符。如我如今想顯示的結果爲「經理Victor出身於1976年5月3日」。這該如何處理呢?其實,這是比較簡單的,咱們能夠在Select查詢語句中,利用鏈接符把這些字段鏈接起來。 it

  如能夠這麼寫查詢語句: 配置

  SELECT員工職位 ||’ ’ ||員工姓名||’出身於’||出身日期 as 員工出身信息 FROM 員工基本信息表;

  經過這條語句就能夠實現如上的需求。也就是說,咱們在平時查詢中,能夠利用||鏈接符把一些相關的字段鏈接起來。這在報表視圖中很是的有用。如筆者之前在設計圖書館管理系統的時候,在書的基本信息處有圖書的出版社、出版序列號等等內容。可是,有時會在打印報表的時候,須要把這些字段合併成一個字段打印。爲此,就須要利用這個鏈接符把這些字段鏈接起來。並且,利用鏈接符還能夠在字段中間加入一些說明性的文字,以方便你們閱讀。如上面我在員工職位與員工姓名之間加入了空格;而且在員工姓名與出身日期之間加入了出身於幾個註釋性的文字。這些功能看起來比較小,可是卻能夠大大的提升內容的可讀性。這也是咱們在數據庫設計過程當中須要關注的一個內容。

  總之,令後採用鏈接符,能夠提升咱們報表的可讀性於靈活性。

相關文章
相關標籤/搜索