關聯關系、關聯查詢(等值連接、內連接、外連接)


關聯關系

  • 創建表時, 表和表之間存在的業務關系

  • 有哪幾種關系?

    • 一對一: 有AB兩張表,A表中的一條數據對應B表中的一條數據, 同時B表中的一條數據也對應A表中的一條.

    • 一對多:有AB兩張表,A表中的一條數據對應B表中的多條數據, 同時B表中的一條數據對應A表中的一條.

    • 多對多:有AB兩張表,A表中的一條數據對應B表中的多條數據, 同時B表中的一條數據也對應A表中的多條.

  • 表和表之間如何建立關系?

    • 通過一個單獨的字段指向另外一張表的主鍵

    • 一對一的關系: 有AB兩張表,在任意一張表中添加字段指向另外一個表的主鍵

    • 一對多的關系: 有AB兩張表,在一對多的關系中,多的一端添加一個單獨字段指向另外一張表的主鍵

    • 多對多的關系: 有AB兩張表 還需要創建一個單獨的關系表,里面兩個字段分別指向另外兩張表的主鍵

 

關聯查詢:同時查詢多張表數據的查詢方式。包括:

  • 等值連接

  • 內連接

  • 外連接

     

等值連接:求兩張表數據的交集信息

格式:select 字段信息 from 表1 別名1,表2 別名2 where 連接條件(關聯關系) and 其他條件(沒有時可省略and之后的內容);

注意:重復的字段信息要用別名.加以區分。

 

內連接:求兩張表數據的交集信息(推薦)

格式:select 字段信息 from 表1 別名1 join 表2 別名2 on 連接條件(關聯關系) where 其他條件(沒有時可省略where之后的內容);

注意:重復的字段信息要用別名.加以區分。

總結:等值連接和內連接查詢到的數據是一樣的,都是兩個表的交集數據,只是書寫格式不一樣,推薦使用內連接。

 

外連接:如果查詢的是一張表的全部和另外一張表的交集,使用外連接。

格式:select 字段信息 from 表1 別名1 left/right join 表2 別名2 on 連接條件(關聯關系) where 其它條件(沒有時可省略where之后的內容);

注意:

  1. 重復的字段信息要用別名.加以區分;

  1. left/right分別側重於查詢左/右表的全部信息與另一個表的交集信息,沒有時用null作為結果。


免責聲明!

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



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