數據庫內連接、外連接以及左右連接的區別


自己在做一個東西的時候 查出來的數據總是有問題 引發程序的bug 檢查過后才發現是 sql語句查詢的時候有問題 做個筆記希望以后不要再犯了 

Q:什么是數據庫的內連接、外連接?

A:其實這兩個是最好區分的 我們在高中高一的時候學的數學的第一堂課學的是並集與交集 這里用他們來理解是最好的 內連接你可以看做是取兩個表的交集  其中只有兩條互相對應着的數據才能被存入結果表中    而外連接就是取並集  和內連接是相反的 如果一張表的數據在另一張表中沒有找到 但是並不影響他在結果集出現 

Q:什么是左連接、右連接?

A:左連接(left join)就是當你要對兩張表進行聯合查詢的時候 是將left join語句左側的表當做基准表去匹配left join右表的表 如果左側表其中的數據在右表里面可以找到與之對應的一條數據那么就會出現在結果表中如果沒有那么就會以null來代替 一般在使用這種查詢的時候都會輔佐以對應的where條件去篩選出自己需要的數據 右連接(right join)和左連接是相反的 就不說了

PS:有時候在查東西的時候也看到過自連接(self join) 也沒用過 所以就不瞎J2寫了


免責聲明!

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



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