SORU
2 Kasım 2010, Salı


Nasıl başka bir tabloda eşleşen bir girdi ile satır seçmek için?

Yaptığımı bazı bakım çalışmaları üzerinde bir veritabanı uygulaması ve keşfettim ki, mutluluk sevinçleri, olsa bile değerlerden bir tablo içerisinde kullanılacak stil, yabancı anahtarlar, yok yabancı anahtar kısıtlamaları tablolar.

Deniyorum Ekle FK kısıtlamaları bu sütunlar, ama ben buluyorum, çünkü orada zaten bir bütün yükün kötü veri tabloları önceki hataları veren safça düzeltilmiş, bulmam gerektiğini satır yok maç için başka bir tablo, ve sonra Sil onları.

Web üzerinde bu tür bir sorgu bazı örnekler buldum, ama onlar tüm örnekler yerine açıklamalar sağlamak gibi görünüyor, ve neden ve nasıl çalıştıklarını anlamıyorum.

Biri bana açıklar nasıl inşa bir sorgu döndürür tüm satırları ile eşleşen bir tablo ve ne yaptığını, bu yüzden bunu yapabilirim, bu sorguları kendimi yerine gelmeye çalışan bu YÜZDEN her tablo bukarmaşahiçbir FK kısıtlamaları vardır?

CEVAP
2 Kasım 2010, Salı


Burada temel bir örnek:

SELECT t1.ID
FROM Table1 t1
    LEFT JOIN Table2 t2 ON t1.ID = t2.ID
WHERE t2.ID IS NULL

Anahtar noktalar:

  1. LEFT JOIN kullanılır - bu Tablo1, Tablo2 veya eşleşen bir satır var olup olmadığını ne olursa olsun, TÜM satırları döndürür.

  2. WHERE t2.ID IS NULL maddesi. Bu sonuçlar KİMLİĞİ Table2 döndü orada null, yalnızca bu satırları iade sınırlar - diğer bir deyişle Tablo1, belirli bir KİMLİĞİ için Table2 kayıt YOK. Tablo2.KİMLİĞİ Table2 uyumlu olmadığı Tablo1 tüm kayıtlar için BOŞ olarak iade edilecektir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caramella Girls

    Caramella Gi

    19 Mayıs 2008
  • jkimisyellow

    jkimisyellow

    6 Mayıs 2009
  • majesticdubstep

    majesticdubs

    3 Kasım 2011