計算機軟件

MySQL的JOIN:說明,使用命令和建議的一個例子

開發 數據庫 網絡資源不會在系統開發標準數據庫不同, MS SQL SERVER。 通常情況下,對於此類型的資源使用MY SQL語言,但它可以被應用到標準軟件產品的開發供本地使用。 但文章中的問題不去做。

與數據庫中的每個任務的語言往往工作時,使樣本數據中的各種報表,圖表等派生。 作為一項規則,我們有這樣那樣的問題的執行使用不是一個而是幾個表,將它們合併為一個單一的請求,大大複雜化其結構。 既要考慮到,因為它們應該是輸出數據作為將“追趕”表,什麼結果將是程序員最能接受的。 為了解決這些問題,可以使用標準的MySQL設計語言之一 - 加入。

這些詞的概念加入

語言數據庫開發,不管是什麼樣的語言,以作為基礎英語字典的標準的話(這就是為什麼你懂英語的條件,你布德更容易使用的表工作)。 為貫徹落實採取了同樣的詞樣品中的連接表 - 申請。 在數據庫軟件的語言使用 我的SQL。 字服務的翻譯是完全一樣的語言 - “聯盟”。

解讀MySQL的結構 - 加入,其中任何一個都將是完全一樣的。 如果你破譯建設的目的,她的工作就是大綱,我們得到以下值:設計將允許收集來自不同的表,或者嵌套查詢所需的字段一個樣本。

設計的種類合併

如果程序員需要收集來自多個表的樣本,他知道需要對報告什麼在他們的重點領域和什麼樣的數據,你可以使用關聯的基本結構之一,為了達到預期的效果。 基本結構(連接表)有四個:

  1. 內連接。
  2. CROSS JOIN。
  3. 左加入。
  4. 右鍵加入。

根據不同的任務,每一個標準的設計將給出不同的結果,這將接受不同的參數報告在很短的時間週期。

創建並填充以備後用表

在開始之前,例如,考慮機制與數據融合構建工作要準備幾個表,有了它我們將繼續努力。 這將有助於證明所有運營商的原則,此外,讓初學者將學習所有的基本知識更容易編程表。

第一個表將介紹一些與人們不斷地在他的生活中遇到的項目。

第二個表將介紹一些從第一個表對象的屬性,讓他們進一步工作。

一般情況下,這兩個表就足以證明他們的工作的例子。 現在,您可以繼續我們的設計的實際考慮。

使用內部連接

如果你正在使用MySQL結構 - 加入Ineer值得考慮它的一些特性。 這種設計可以讓你從兩個表只有那些在第一和第二表中的記錄進行選擇。 它是如何工作的? 第一個表,我們有萬能鑰匙 - ID,這表明該表中記錄的序列號。

當創建所述第二表中,相同的密鑰被用作一個序列號,一個例子可在圖中看到。 當選擇一個數據Select語句將決定結果只記錄的序列號一致 - 因此,他們是在第一和第二個表。

當建設是必要的正是你需要得到的數據是什麼知道。 最常見的錯誤,特別是對開發人員 的數據庫,這是 不合理的,不正確的使用設計的內連接。 作為一個例子,MySQL的內部連接,你可以考慮一個腳本,將返回我們前面描述的和充滿信息對象及其屬性的表格。 但是,可能有幾種方式來使用的設計。 在這一點上我的SQL是非常靈活的語言。 所以,你可以看到使用MySQL內部連接的例子。

連接表不指定任何參數。 在這種情況下,我們得到這樣一個計劃的結果:

如果我們指示由字解決方案:使用服務,就必須要考慮的表中記錄的主鍵,結果集將發生巨大的變化。 在這種情況下,我們得到的樣本,這將只返回具有相同的主鍵的行。

使用中,當由“上»字提示的第三實施例的機會表示必須發生連接表的字段。 在這種情況下,樣品將返回以下信息:

功能使用左聯接

如果我們考慮結合使用MySQL結構表的另一種方式 - 加入,可以注意到的數據,並將其輸出的差異。 這樣的機制設計左。

使用LEFT JOIN MySQL的結構具有一定的特點,並為內蒙古,需要將得到的結果有清晰的認識。

在這種情況下,首先從第一表中選擇的所有記錄,並進一步向其中附著到所述第二表屬性。 在這種情況下,如果有一個記錄,例如,“大便”的第一台和第二台沒有屬性呢,左操作者顯示在進入空,它告訴是沒有聽說過關於這個問題的跡象程序員的前。

使用這種設計將有助於確定哪些字段,或者例如,在店裡的貨物沒有設置價格, 保修期 等。

使用示例左

要考慮LEFT JOIN MySQL的使用先前描述的表中的操作實踐的設計。 例如,你需要選擇的是在店內產品的完整列表,並檢查它們中的一些未生育的特徵或屬性。 在這種情況下,樣品將顯示所有產品,並為那些誰沒有財產,將承擔空。

凡在建築用加入

作為一個參數,該協會可能不僅包括指示您必須建立連接表中的字段,但可能包括算哪裡的條件。

例如,考慮應該退還給我們只是還沒有放下一個標誌這些記錄的腳本。 在這種情況下,你需要添加設計加入運營商的條款和表明它應作為一個結果返回。

當在MySQL使用加入 - 何處應當清楚地理解的是,僅顯示這些記錄包括上述條件下,然後將樣品將是如下:

這些請求讓您作出與所選擇的編程條件特定的抽樣數據。 這樣的條件可指示若干可能的,同時更新具有表United數據選擇參數。

使用連接到改變表中的數據

設計加入,事實上,通用。 它可以讓你既做各種樣品,但也從一個連接請求到幾個表,一個樣品中徵收額外的條件。 設計也可用於其他數據操作。 因此,加入可用於改變在表中的數據。 或者更確切地說,澄清表的條件,或在情況下,需要在相同條件下更新多個表中的數據。

例如,請考慮以下問題。 鑑於三個表,其中有一些證據。 有必要進行使用單個查詢兩個表中的數據的變化。 只是為了解決這樣的任務可以在命令更新使用加入設計。 加入很有型結構的依賴,以同樣的方式作為對誰想要得到一個程序員的結果的樣本數據的情況。

考慮一個簡單的例子。 你需要在一個單一的請求,在相同的條件更新數據。 這種查詢的構造優化數據庫。 為什麼寫的每個表的不同的查詢,如果你可以花所有的數據操縱請求嗎? 實例 的MySQL更新 加入我們的情況是:

構建複雜的查詢

經常使用數據庫查詢時需要建立不僅是幾個表的聯合,也與使用子查詢。 這些問題是很難理解的新手程序員的數據庫。 困難的是,我們必須思考每一步,決定從一個表或查詢的數據需要獲得以及如何在未來,他們應該去上班。

對於更具體的了解,可以考慮(在MySQL加入)的複雜查詢的例子。 如果你是新的,剛開始來操作數據庫,這樣的訓練只會受益。 理想的化身將MySQL的左連接的例子。

這個查詢將返回美國,以58記錄的銷售合同,這是完全或有所選日期的現金餘額。 在這種情況下,當前的日期。 另外,樣品中加入到該合同應的標題的字符的條件 - “123”。 屏幕上的信息(數據)將被分類 - 合同數量排序。

下面的示例顯示所有付款,這將表明該合同號的詳細信息。

使用子查詢

正如前面提到的,使用數據庫時,不僅能表,但要求該表合併。 這樣的設計主要是用來加速查詢和優化。

例如,如果你從表中,其中有數百場,並說,一千個記錄想要的,選擇只有兩個字段,有必要使用返回只需要字段的查詢,並與主數據樣本相結合。 作為一個例子MySQL的加入選擇可以考慮這種類型的請求:

它不是使用標準設計的MySQL,只有標準的所有方法。 如何使用設計中加入任何形式的程序員決定,但它是值得記住和顧及什麼結果應該由查詢得到。

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 zhtw.birmiss.com. Theme powered by WordPress.