Oracle 10g如何實現高階查詢
許多人愁不會Oracle 10g的高階查詢,其實也是比較簡單的。在查詢資料時,為了獲取完整的資訊就要將多個表連線起來,這也是關係資料庫的一個重要特性---表之間存在的關係。這種關係可以將表的資料聯絡起來。多表查詢就是根據這種關係,實現從多個表中獲取資料還原資訊。下面這個圖就是我將要操作的表結構。
工具/材料
Oracle 10g
操作方法
基本連線查詢
在簡單查詢中我們一般只使用了from字句的一個表,然而在關係資料庫中,表與表之間往往是存在關係的,這就是要求從多個表中檢索資料,以輸出更有意義的結果。最簡單的連線方式就是在select語句中,通過from子句使用多個表,並用逗號將不同的基本表隔開。下面語句將商品資訊表和供應商資訊表連線起來,查詢其中的商品名稱,產地,供應商名稱。
但此時結果顯示該查詢語句共顯示了200行記錄,這顯然是錯誤的。因為僅僅通過select和from子句連線那麼查詢結果將是一個通過笛卡兒積生成的表,包含大量無意義的資訊。而where語句可以有效避免笛卡兒積的出現。只有當兩個表具有相同匹配的列時才返回結果集。例如下面語句通過在where子句中使用連線條件,實現了每件商品名稱,產地,供應商名稱資訊。
但也要注意一個問題如果想要查詢“供應商編號”應該怎麼處理,因為兩個表中都有“供應商編號”,所以應該查詢的時候限定一下,說明究竟是哪一個表中的。
join連線查詢
join用於連線兩個不同的表,on用於給出這兩個表之間的連線條件。如果進一步限制查詢範圍,可以在後面新增where語句,下面示例使用從商品資訊表和供應商資訊表查詢單價大於1200元的商品資訊。
並且join連線也可以實現兩個以上的表查詢,寫語句的時候一個join對應一個on,看下面的例子。
自然連線查詢
其實自然連線查詢(natural join)就是更加方便的join連線查詢,自然連線不必指定任何同等連線條件,系統將自動判斷出具有相同名稱的列然後形成匹配,但注意自然連線是根據兩個表中同名的列而進行連線的,當列不同名時,自然連線將失去意義。
集合操作查詢
集合操作就是將兩個或多個SQL查詢結合構成符合查詢,集合操作符有union(並集)、intersect(交集)、minus(差集),現在以union為例,union查詢必須從每個表中讀取相同的列。
子查詢
子查詢和連線查詢一樣提供了使用單個查詢訪問多個表中的資料的方法,使用in關鍵字,意思是在in後面的集合中查詢我們需要的,即in後面是限定條件。
特別提示
注意在Oracle 10g中的標點符號是英文狀態下的
-
微信搖骰子表情在哪裡
微信一款跨平臺的通訊工具。支援單人、多人蔘與。通過手機網路傳送語音、圖片、視訊和文字。還可以在上面搖骰子,那這個表情在哪呢?讓我們來找找看。操作方法(01)開啟微信,選擇一位好友;(02)如下圖所示,進到聊天的介面,點開右下角的笑臉;(03)就可以看到表情,然後點選愛心;(04)就...
-
qq狼人殺在哪裡
qq狼人殺遊戲是一款非常好玩的休閒遊戲,QQ使用者都可以隨時隨地加入這個遊戲,下面給大家分享一下qq狼人殺的開啟方式。操作方法(01)開啟登陸QQ點選頁面右下方“動態”按鈕。(02)在群中任意找到一個群,點選進入群,再點選群上方的“群管理”,如圖。(03)點選頁面右上角,開啟動態...
-
九鍵拼音打字怎麼打
打字的方式有很多種,我們今天來說說九鍵拼音怎麼打字。操作方法(01)我們開啟手機鍵盤輸入框。(02)我們可以看到有一個小鍵盤的選項,我們點選它。(03)點選進去之後,我們會看到有很多輸入方式的選項,全鍵(26鍵)的輸入法平常都是大家用得比較多的吧,都是它有著打字速度慢的缺點...
-
如何檢視微信註冊時間
微信是現代人的必備工具。那麼如何檢視微信註冊時間呢?感興趣的朋友快來看看吧。操作方法(01)微信註冊時間一般是查不到的,當然你可以看看發第一條朋友圈的時間來推算一下。如果你註冊微訊號時的資訊儲存完整,可以通過以下幾種方法來查檢視。(02)第一種通常微信開通時...