Aracılığıyla paylaş


Dış birleşimler oluşturma (Visual Database Araçları)

Şunlar için geçerlidir: SQL Server

Varsayılan olarak, Sorgu ve Görünüm Tasarımcısı Araçları (Visual Database Araçları) tablolar arasında bir iç birleşim oluşturur. İç birleşimler, diğer tablodaki bir satırla eşleşmeyen satırları ortadan kaldırır. Ancak dış birleşimler, yan tümcesinde FROM belirtilen tablo veya görünümlerden en az birindeki tüm satırları, bu satırlar herhangi bir WHERE veya HAVING arama koşuluna uygun olduğu sürece döndürür. Sonuç kümesine, birleştirilmiş tabloda eşleşmesi olmayan veri satırları eklemek istiyorsanız, dış birleşim oluşturabilirsiniz.

Dış birleşim oluşturduğunuzda, tabloların SQL deyiminde görünme sırası (SQL bölmesine yansıtıldığı gibi) önemlidir. Eklediğiniz ilk tablo "sol" tablo, ikinci tablo ise "sağ" tablo olur. ( Tabloların Diyagram bölmesinde (Visual Database Tools) göründüğü gerçek sıra önemli değildir.) Sol veya sağ dış birleşim belirttiğinizde, tabloların sorguya eklenme sırasına ve SQL Bölmesi'ndeki (Visual Database Araçları) SQL deyiminde görünme sırasına başvurursunuz.

Dış birleşim oluşturmak

  1. Birleştirmeyi otomatik olarak veya el ile oluşturun. Ayrıntılar için bkz . Tabloları otomatik olarak birleştirme (Visual Database Araçları) veya Tabloları el ile birleştirme (Visual Database Araçları).

  2. Diyagram bölmesinde birleştirme satırını seçin ve sorgu tasarımcısı menüsünden Tablo adından< Tüm Satırları Seç'i >seçin ve ek satırlarını eklemek istediğiniz tabloyu içeren komutu seçin.

    • Sol dış birleşim oluşturmak için ilk tabloyu seçin.
    • Sağ dış birleşim oluşturmak için ikinci tabloyu seçin.
    • Tam dış birleşim oluşturmak için her iki tabloyu da seçin.

Dış birleşim belirttiğinizde, Sorgu ve Görünüm Tasarımcısı dış birleşimi göstermek için birleştirme çizgisini değiştirir.

Ayrıca Sorgu ve Görünüm Tasarımcısı, sql bölmesindeki SQL deyimini, aşağıdaki deyimde gösterildiği gibi birleştirme türündeki değişikliği yansıtacak şekilde değiştirir:

SELECT employee.job_id,
       employee.emp_id,
       employee.fname,
       employee.minit,
       jobs.job_desc
FROM employee
     LEFT OUTER JOIN jobs
         ON employee.job_id = jobs.job_id;

Dış birleşim eşleşmeyen satırlar içerdiği için, yabancı anahtar kısıtlamalarını ihlal eden satırları bulmak için bunu kullanabilirsiniz. Bunu yapmak için bir dış birleşim oluşturur ve sonra en sağdaki tablonun birincil anahtar sütununun null olduğu satırları bulmak için bir arama koşulu eklersiniz. Örneğin, aşağıdaki dış bağlantı, employee tablosunda bulunan ancak jobs tablosunda karşılık gelen satırlara sahip olmayan satırları bulur.

SELECT employee.emp_id,
       employee.job_id
FROM employee
     LEFT OUTER JOIN jobs
         ON employee.job_id = jobs.job_id
WHERE (jobs.job_id IS NULL);