2013-10-09 22 views
24

İç ve dış birleştirmeler arasındaki fark. İki tane tabloyu kullanarak ve tip biz bunun sahibi olan kullanmalıdır katılmak hangi nedenle hem tablodan veri getirmesi istiyorum am bizim sorunİç bağlantı ile dış birleştirmenin arasındaki fark nedir?

+2

http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html – Quentin

+0

* o PHP dikkat ve SQL * Farklı diller edin. Sorunun PHP ile ilgisi yok. –

+0

İhtiyacınıza bağlı olarak ihtiyaç duyduğunuz birleştirme türüne bağlıdır. :) – Roopendra

cevap

20

İç katılmak bu makalenin yazarı gitmek - bir iç eşdeğer birini kullanarak katılmak Sorgular, iki tabloyu, yani ortak olan iki satırı kesiştirir.
Sol dış birleştir - Sol dış birleşim, A'daki tüm satırları ve B'deki genel satırları verecektir.
Tam dış birleştirme - Tam dış birleştirme size A ve B birleşimini, yani tüm satırları verecektir. A'da ve A'daki tüm satırlarda. A'da bir şey B'de karşılık gelen bir datuma sahip değilse, B kısmı boştur ve tam tersi de geçerlidir. onay this

14

INNER JOIN çözebilir: İKİ tablolarda en az bir maç varken tüm satırları döndürür

sol tablodan tüm satırları iade ve sağ tablodan eşleşen satırlar

sAĞ JOIN:

sOL JOIN sol tablodan sağ tablodan tüm satırları ve eşleşen satırları iade

FULL JOIN : Tablo

BIR tabloda bir eşleşme olduğunda tüm satırları döndür

Ben bu

2

İç anahtarlarında maçlar tabloları birleştirmek yardımcı olacağını umuyoruz, ancak dış sadece bir tarafı için maçları tuşları katılmak. Örneğin, sol dış birleştirmeyi kullandığınızda, sorgunun tamamı sol taraftaki tabloyu getirir ve sağ tarafla soldaki tablo ana anahtarına eşleşir ve eşleşmeyen yerler bulunmaz.

75

Bu anlamak için en iyi ve en basit yolu katılır:

enter image description here

Kredi HERE

İlgili konular