計算機, 程序設計
操作SQL INNER JOIN:語法和功能的例子
開發任何數據庫不僅包括創建和使用各種信息表的填充,同時也進一步的工作與數據。 若要從表和報告數據的選擇正確地執行各種任務,使用標準的選擇設計。
取從表中的數據
如果我們考慮所選擇的數據或報告的建設問題,您可以確定操作的複雜程度。 作為一項規則,與嚴重的問題時(根據體積)的數據庫,其中形成,例如,在在線商店或大公司,數據選擇不限於一個單一的表。 作為一項規則,樣本可能是從一個相當大的數量不僅與表外,還嵌套查詢/子查詢,這使得程序員,這取決於它的任務。 為一個表的樣品可以用最簡單的結構:
| 選擇從人* |
這裡的人 - 從中你想使數據檢索表的名稱。
但是,如果你需要選擇從多個表中的數據,標準設計的一個可用於連接多個表。
連接附加表的方法
如果我們考慮在初級的水平使用這樣的結構,我們可以區分以下機制到所需數量的連接的示例表,即:
- 運營商內部聯接。
- 左連接或,它是第二記錄方法中,左外連接。
- CROSS JOIN。
- 全部加入。
使用運營商的加盟在實踐中的表,你可以考慮使用SQL語句的學習 - 內連接。 其使用的一個例子是如下:
選擇從人* 內部聯接分區上Su_Person = Pe_ID |
語言SQL,並加入內部加入運營商不僅可以用於組合兩個或多個表中使用,而且連接其他的子查詢,大大方便了數據庫管理員的工作,並作為一項規則,可以顯著加快具體,複雜的查詢結構的實現。
由線在表中線路的數據組合
如果我們考慮到大量的子查詢組裝成線單一的表線的連接,數據,你也可以使用運營商聯盟和聯盟所有。
使用這些結構將取決於開發人員設定的目標,他希望最終達到的結果。
說明內部聯接操作
在大多數情況下,在使用內部連接運營商的SQL語言的多個表結合起來。 說明內部聯接在SQL是很容易理解的一般的程序員誰是剛剛開始了解的數據庫。 如果我們考慮到這種結構的工作機制的描述中,我們得到了以下圖片。 邏輯運算器作為一個整體是建立在交叉點上和採樣僅是在每個表中包含在查詢中的數據的可能性。
如果我們以圖形的解釋方面看這方面的工作,我們得到SQL內部聯接操作的構造,其可通過以下路線圖中顯示的例子:
例如,我們有兩個表,在圖中示意性示出。 他們,反過來,有不同數量的條目。 在每個表都有所相關領域。 如果我們試圖解釋圖紙的基礎上,操作者的工作,返回的結果將是一組記錄從兩個表,其中房間是相互關聯的領域一致。 簡單地說,該查詢返回的記錄(見表二號),其數據是在頭號表。
內在的語法加入
正如前面提到的,運營商內部聯接,即其語法,異常簡單。 對單個樣品中的表之間的關係的組織將足以記憶和使用運營商,其在軟件的SQL代碼,即一個單一的線規定的結構的以下示意圖:
- 內加入[表名稱]上= [表中的可插入的鍵字段] [到連接表中的關鍵字段。
對於這一說法通信主要使用的表項。 作為一項規則,該組存儲有關員工信息表中,先前所描述的人艙與至少有一個類似的記載。 所以,細看操作SQL內部連接,其中一個例子已經證明早一點。
實施例的描述和連接到所述音頻樣本表
我們有一個Person表,它存儲所有在該公司工作的員工的信息。 只要注意,該表的主鍵字段 - Pe_ID。 只要它,會去一個包。
第二個表分區將存儲有關哪些員工工作辦公室信息。 她又通過Su_Person場Person表連接。 這是什麼意思? 根據該數據模式,可以說是在表單位對表中的“員工”的每個記錄將是關於他們工作的部門信息。 正是出於這種溝通,並將努力運營商內部連接。
為了更直觀地使用的考慮操作SQL內部連接(一個或兩個表及其使用的例子)。 如果我們考慮在同一個表的例子,那麼一切都非常簡單:
選擇從人* 內部聯接分區上Su_Person = Pe_ID |
示例連接兩個表和子查詢
操作者SQL內部聯接,其實例是使用以檢索從多個表中的數據可被佈置在上述方式中,它是工作在原則有點複雜。 這兩個表的任務變得更為複雜。 例如,我們有一個存儲有關的所有部門中每個部門的信息出發表。 在該表中記錄的分割數和僱員號,並且必須由每個部門的樣本數據的名稱來補充。 展望未來,值得一說的是,你可以用兩種方法來解決這個問題。
第一種方式是連接部門表採樣。 在這種情況下,組織請求可以如下:
從人選擇Pe_ID,Pe_Name,Su_Id,Su_Name,Dep_ID,Dep_Name 內部聯接分區上Su_Person = Pe_ID 內部聯接出發上Su_Depart = Dep_ID和Pe_Depart = Dep_ID |
解決問題的第二種方法 - 是使用子查詢中,並非所有的數據都會從部門表中選擇,但只是必要的。 這是相對於第一種方法,它會降低請求的時間。
從人選擇Pe_ID,Pe_Name,Su_Id,Su_Name,Dep_ID,Dep_Name 內部聯接分區上Su_Person = Pe_ID 內部聯接(選擇Dep_ID,Dep_Name,Pe_Depart從出發日期)為T上Su_Depart = Dep_ID和Pe_Depart = Dep_ID |
值得注意的是,這種安排不能總是加快工作要求。 有時存在這樣的情況時,有必要使用一個額外的採樣數據到臨時表(如果體積過大),然後將其與主樣品結合。
使用示例內部聯接操作者樣品從大量的表
建設涉及的樣本顯著的數據表和子查詢的互連使用複雜的查詢。 這些要求能夠滿足SQL內部聯接語法。 使用該運營商的,在這種情況下的例子可以在許多存儲的地方,不僅樣品是複雜的,但也有大量嵌套子查詢的。 對於一個具體的例子,你可以從系統表的樣本數據(內部連接的SQL語句)。 示例 - 表中的3 - 在這種情況下,將有一個相當複雜的結構。
在這種情況下連接(主表)和三個進一步介紹了幾種數據選擇條件。
當使用內部連接運營商應該記住,更複雜的查詢,時間越長,將被執行,所以你應該想辦法更快速地執行並解決問題。
結論
最後,我想說一件事:與數據庫的工作 - 它不是在編程中最困難的事情,所以如果你想每個人將能獲得知識,建立一個數據庫,並隨著時間的推移,積累經驗,你會得到一個專業水平與他們一起工作。
Similar articles
Trending Now