多表查詢

来源:http://www.cnblogs.com/lxp503238/archive/2017/03/25/6617575.html
-Advertisement-
Play Games

多表查詢 1. 分類: * 合併結果集(瞭解) * 連接查詢 * 子查詢合併結果集 * 要求被合併的表中,列的類型和列數相同 * UNION,去除重覆行 * UNION ALL,不去除重覆行 連接查詢 1. 分類 * 內連接 * 外連接 > 左外連接 > 右外連接 > 全外連接(MySQL不支持) ...


多表查詢
  1. 分類:
    * 合併結果集(瞭解)
    * 連接查詢
    * 子查詢

合併結果集
  * 要求被合併的表中,列的類型和列數相同
  * UNION,去除重覆行
  * UNION ALL,不去除重覆行

 SELECT * FROM cd/*cd表*/
UNION ALL
SELECT * FROM ab;/*ab表*



連接查詢
  1. 分類
    * 內連接
    * 外連接
      > 左外連接
      > 右外連接
      > 全外連接(MySQL不支持)
    * 自然連接(屬於一種簡化方式)

  2. 內連接
    * 方言:SELECT * FROM 表1 別名1, 表2 別名2 WHERE 別名1.xx=別名2.xx
    * 標準:SELECT * FROM 表1 別名1 INNER JOIN 表2 別名2 ON 別名1.xx=別名2.xx
    * 自然:SELECT * FROM 表1 別名1 NATURAL JOIN 表2 別名2
    * 內連接查詢出的所有記錄都滿足條件。
 
  3. 外連接
    * 左外SELECT * FROM 表1 別名1 LEFT OUTER JOIN 表2 別名2 ON 別名1.xx=別名2.xx
      > 左表記錄無論是否滿足條件都會查詢出來,而右表只有滿足條件才能出來。左表中不滿足條件的記錄,右表部分都為NULL
    * 左外自然SELECT * FROM 表1 別名1 NATURAL LEFT OUTER JOIN 表2 別名2 ON 別名1.xx=別名2.xx
    * 右外SELECT * FROM 表1 別名1 RIGHT OUTER JOIN 表2 別名2 ON 別名1.xx=別名2.xx
      > 右表記錄無論是否滿足條件都會查詢出來,而左表只有滿足條件才能出來。右表不滿足條件的記錄,其左表部分都為NULL
    * 右外自然SELECT * FROM 表1 別名1 NATURAL RIGHT OUTER JOIN 表2 別名2 ON 別名1.xx=別名2.xx
    * 全鏈接:可以使用UNION來完成全鏈接

子查詢
  :查詢中有查詢(查看select關鍵字的個數!)
  1. 出現的位置:
    * where後作為條件存在
    * from後作為表存在(多行多列)

  2. 條件
    * (***)單行單列:SELECT * FROM 表1 別名1 WHERE 列1 [=、>、<、>=、<=、!=] (SELECT 列 FROM 表2 別名2 WHERE 條件)
    * (**)多行單列:SELECT * FROM 表1 別名1 WHERE 列1 [IN, ALL, ANY] (SELECT 列 FROM 表2 別名2 WHERE 條件)
    * (*)單行多列:SELECT * FROM 表1 別名1 WHERE (列1,列2) IN (SELECT 列1, 列2 FROM 表2 別名2 WHERE 條件)
    * (***)多行多列:SELECT * FROM 表1 別名1 , (SELECT ....) 別名2 WHERE 條件


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 想獲取用戶各項行為數據嗎? 想輕鬆查看用戶行為圖表嗎? 想高效進行 App 運營管理嗎? 想,來我帶你玩轉 App 數據統計。這裡我使用專業、輕便的 "JAnalytics" 。 本文內容分為兩部分:代碼示例&使用技巧部分、控制台圖表查看部分。 代碼示例&使用技巧 集成 1. 下載 "JAnalyt ...
  • 本文並非最終版本,如果想要關註更新或更正的內容請關註文集,聯繫方式詳見文末,如有疏忽和遺漏,歡迎指正。 本文相關目錄: ================== 所屬文集: "【iOS】07 設備工具 " ================== "7.4 定位服務 1.0 簡介" "7.4 定位服務 2. ...
  • Context,中文直譯為“上下文”,SDK中對其說明如下: 1、它描述的是一個應用程式環境的信息,即上下文。 2、該類是一個抽象(abstract class)類,Android提供了該抽象類的具體實現類。 3、通過它我們可以獲取應用程式的資源和類,也包括一些應用級別操作,例如:啟動一個Activ ...
  • 轉載請註明出處:http://www.cnblogs.com/cnwutianhao/p/6611252.html 引言:項目開發有時會使用上傳文件到伺服器,再從伺服器取數據顯示到本地這一過程;或者輸入一段文字,再把文字顯示出來。這個過程都用到了IO流。 IO流分為字元流(Reader\Writer ...
  • 最近公司開發一個項目,要求app能夠發送簡訊並獲取送達報告。這本不是一個什麼難題,實現這一功能的代碼一搜一大把,那麼這麼簡單的一個問題,為什麼我要在這裡提出來呢?那是因為我在寫代碼的時候掉入了一個坑,而且這很可能發生在很多和我一樣粗心的朋友身上。先給大家分享一下當初讓我掉進坑裡的代碼: 咋一看,好像 ...
  • 本文出處:http://www.cnblogs.com/wy123/p/6617700.html SQLServer中沒有函數索引,在某些場景下查詢的時候要根據欄位的某一部分做查詢或者經過某種計算之後做查詢,如果使用函數或者其他方式作用在欄位上之後,就會限制到索引的使用,不過我們可以間接地實現類似於 ...
  • org.springframework.beans.factory.BeanDefinitionStoreException異常 ...
  • 運行Pig時出現這個錯誤: 解決的辦法是把${HADOOP_HOME}/share/hadoop/yarn/lib下的jline-2.1.1.jar刪除掉,再重啟Hadoop就可以了。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...