程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 詳解SQL Server連接(內連接、外連接、交叉連接)

詳解SQL Server連接(內連接、外連接、交叉連接)

編輯:關於SqlServer

 

    在查詢多個表時,我們經常會用“連接查詢”。連接是關系數據庫模型的主要特點,也是它區別於其它類型數據庫管理系統的一個標志。

  

view plain copy    print?
  1. <span ><span >       
  2.     select * from T_student s,T_class c where s.classId = c.classId   
  3.      等於  
  4.      select * from T_student s inner join T_class c on s.classId = c.classId</span></span>  
       結果是:

                 

                 

view plain copy    print?
  1. <span ><span >       
  2.     select * from T_student s inner join T_class c on s.classId <> c.classId</span></span>  
       結果是:

 

                

view plain copy    print?
  1. <span ><span >      
  2.     select s.*,c.className from T_student s inner join T_class c on s.classId = c.classId</span></span>  

 

      與等值連接對比:結果是少一個一列classId: 

           

        總結:內連接是只顯示滿足條件的!

  

view plain copy    print?
  1. <span ><span >      
  2.     select * from  T_student s left join T_class c on s.classId = c.classId</span></span>  
  結果是:
                

 

  總結:左連接顯示左表全部行,和右表與左表相同行。

 

view plain copy    print?
  1. <span ><span >     
  2.    select * from  T_student s right join T_class c on s.classId = c.classId</span></span>  
   結果是:

 

              

  總結:右連接恰與左連接相反,顯示右表全部行,和左表與右表相同行。

 

view plain copy    print?
  1. <span ><span >      
  2.    select * from  T_student s full join T_class c on s.classId = c.classId</span></span>  
   結果是:

 

            

   總結:返回左表和右表中的所有行。

 

view plain copy    print?
  1. <span ><span >     
  2.    select *from T_student cross join T_class  
  3.   ‘等於  
  4.    select *from T_student, T_class</span></span>  

    

結果是:

                           

       總結:相當與笛卡爾積,左表和右表組合。

 

view plain copy    print?
  1. select * from T_student s cross join T_class c where s.classId = c.classId   
  2.    (注:cross join後加條件只能用where,不能用on)  
          查詢結果跟等值連接的查詢結果是一樣。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved