Oracle SQL開發學習筆記

來源:互聯網
上載者:User
一、內串連(inner join)
 內串連通過where語句的串連條件先把所有要串連的表一個個的拼接成一個“大表”,如果中間有別的條件限制,可以通過限制條件,縮減表的列數和行數後,繼續和別的表串連。串連的最後,是一些查詢條件,用來限制這個“大表”的行數。 如果串連中,有任何一個表不匹配串連條件,那麼該行資料將不會出現在“大表”中。 例子:
 --老文法
 select b.mc, a.zxyy_mc
 from dm_zxyy a, dj_ztzx b
 where b.yy_dm = a.zxyy_dm --sql-92標準
 select b.mc, a.zxyy_mc
 from dm_zxyy a inner join dj_ztzx b
 on a.zxyy_dm=b.yy_dm 以上兩個sql的功能相同,sql標準的文法有所不同.二、外串連(out join)
 外串連的類型有三種:左外串連、右外串連、全外串連,內串連可以刪除原表中的一些行,外串連可以保留這些行中的一部分。 (一)、左外串連
  1、串連條件寫在where子句中。括弧中的加法符號(+)寫在串連條件的右邊。這就指定了一個作外串連。串連條件中有多個子句時,加法符號必須寫在每個子句的右邊。‘+’相當於一個給右邊表一個萬能行,來匹配左邊的表進行‘內串連’。  例子:
  --老文法
  select a.*, b.*
   from tab1 a, tab2 b
  where a.sn = b.sn(+)
     a.tx > b.tx(+)
   order by a.sn
  
  --SQL92標準
  select a.*, b.*
   from tab1 a left outer join tab2 b
  on a.sn = b.sn(+)
     a.tx > b.tx(+)
   order by a.sn   以上兩個sql的功能相同,sql標準的文法有所不同. (二)、右外串連
  與左外串連相似,不做介紹。 (三)、全外串連
  1、全外串連實際上是對兩個分別進行左右串連後,再將結果集聯合到一塊形成的。
  2、進行聯合的兩個結果集的列必須相同。
  3、全外串連的文法:
   左外串連
    union
   右外串連
  4、union只能有一個order by子句,並且它必須位於union的最後一行中。這個子句按指定順序對union所有行進行排序。
  5、union聯合時,會重複資料刪除的行,而不論重複的行是否來自同一個表。
  
三、union與union all
 (一)、union與串連的區別
  1、union將兩個表的行合并到一個表中,並不對這些行做任何更改,並重複資料刪除的行,而不論這些重複行是否來自同一個表。  例子:
  --union聯集查詢
  select a1,b1,c1
   from tab1
  union
  select a2,b2,c2
   from tab2  --串連查詢
  select t1.*,t2.*
   from tab1 t1,tab2 t2
  where a.id=b.id (二)、union與union all的區別
  1、與union非常相似,唯一的區別是union all不重複資料刪除的行,也不對行進行自動排序。
  2、union all比union省計算資源,應盡量使用union all。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.