gibi bir şey denemek, biraz öğrenmeliyiz. Temelde
, size katılmak yüklemi tatmin tüm satırları çiftleri hem TableA
ve TableB
bakmak ve almak için veritabanı söylüyorsun
TableA A JOIN TableB B ON A.id = B.a_id
sorgu kesilirken (A.id = B.a_id). Bu nedenle, TableB
boşsa, veritabanı, belirtilen ölçütlere sahip satırları ve çift satırlarını bulamıyor.
Bu tür JOIN, INNER JOIN olarak adlandırılır ve kullanılan en yaygın kullanılan işlem türüdür. Böyle sıralar katılmak predictate "A.id = C.a_id" dayalı (varsa Senin durumunda
Eğer
TableC
den
TableA X TableB
den
tüm satır ve tüm
ilgili satırlar getirmek istiyoruz. Bu durumda bir
DIŞ için artır. Bu tür iki en yaygın türleri birleştirme sOL (sağ tablodan tüm satırları içerir) ve sağ katıldı (sol tablodan tüm satırları içeren) katılırlar. Bu ise
durumda, sorgunuzu olmalıdır:
SELECT A.*
FROM
(TableA A JOIN Table B B ON A.id = B.a_id)
LEFT JOIN TableC C ON A.id = C.a_ID
aynı mantığı takip ederek SQL
Edit
katılır türleri hakkında daha fazla bilgi edinmek isterseniz hepsine sahip istiyorsam, relevant Wikipedia sayfasına bir göz atmak öneririm TableA
gelen satırlar ve tablolar TableB
ve TableC
(varsa) sadece ilgili satırlar, sorgu olacaktı:
SELECT A.*
FROM
(TableA A LEFT JOIN Table B B ON A.id = B.a_id)
LEFT JOIN TableC C ON A.id = C.a_ID
+1 - arayla bana iyi görünüyor Tab" arasında "AÇIK" bir eksik var dan le C C "ve" (A.id " –