SQL中的連接查詢,多表查詢與等值連接


查詢同時涉及兩個以上的表,稱為連接查詢。包括等值連接查詢,自然連接查詢,非等值連接查詢,自身連接查詢,外連接查詢和復合條件連接查詢等

1.等值與非等值連接查詢

    where 子句中連接兩個表的條件稱為連接條件  如  Student.Sname=Sc.Sno

  比較運算符有=  >  <  <=   >=  !=   <>  。當連接運算符為=時,稱為等值連接。其他運算符稱為非等值連接。

 

注意:連接查詢的結果是把多張關系表合成一張大表,篩選出滿足條件的元組。

 

2.自然連接

    把目標列中的重復列去掉稱為自然連接(顯示查詢想要的結果)

  如:      select  Student.Sno,Student.Ssex,SC.Cno

          from  Student,SC

          where  Student.Sno=SC.Sno;

  建議每個例都加上表名,增強可閱讀性。

3.自身連接

    表與自己進行連接稱為自身連接。為此需要給表取別名

 

4.外連接(笛卡爾積)

    把被舍棄的懸浮元組保存在結果關系中(指不滿足條件的元組), 外連接分為左連接和右連接

  左連接:  select  Student.*,SC.*  from  Student   left  outer  join  SC  on  (Student.Sno=SC.Sno);    把左邊Student表中不符合條件的元組也保存在結果關系表中,右反之

 

5.多表連接

    連接兩張表以上表的查詢 

    如:    select  Student.Sno,Student.Ssex,SC.Cno,Course.Grade

          from  Student,SC, Course

          where  Student.Sno=SC.Sno  and Sc.Cno=Course.Cno;

 

      

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM