Tabloları ve sorguları birleştirme

Tabloları ve sorguları birleştirme

Access sorgusuna birden çok veri kaynağı dahil etmek için birleştirmeleri kullanarak, veri kaynaklarının birbirine nasıl ilişkili olduğunu temel alarak görmek istediğiniz kayıtları sınırlandırabilirsiniz. Ayrıca, her iki veri kaynağından kayıtları birleştirmek için birleştirmeleri de kullanır, böylece kaynaklardan her kayıt çifti sorgu sonuçlarında tek bir kayıt olur.

Bu makalede, çeşitli birleşim türleri ele ve bunları sorguda nasıl kullanabileceğiniz gösterir. Varsayılan olarak, sorguda iki veri kaynağı arasında zaten bir ilişki varsa, birleştirme otomatik olarak oluşturulur. Ayrıca, birbirine net bir şekilde karşılık gelen alanlar varsa birleşim oluşturulur. Otomatik olarak oluşturulan bir birleştirmeyi silebilirsiniz. Bu makalede, tablo ilişkileri hakkında temel bilgiler ve nasıl oluşturulacakları da dahil olmak üzere bilgiler ve almaktadır.

Not: Sorguları tabloları birleştirmeyle aynı yolla ve her ikisini de bir arada kullanabilirsiniz.

Bu makalede

Genel bakış

Veritabanı, birbirine mantıksal ilişkilere sahip bir veri tabloları koleksiyonudur. Tabloları ortak alanları olan alanlara göre bağlamak için ilişkileri kullanırsiniz. Tablo herhangi bir sayıda ilişkinin parçası olabilir, ancak her ilişkinin her zaman tam olarak iki tablosu vardır. Sorguda, bir ilişki birleşimle temsil edilen bir ilişkidir.

Bir sorguya tablo eklerken, Access arasında tanımlanmış ilişkileri temel alan birleşimler oluşturur. Sorgularda, önceden tanımlanmış ilişkileri temsil etmiyor olsalar bile birleşimleri el ile oluşturabilirsiniz. Sorgunun veri kaynağı olarak başka sorgular (tablolar yerine veya tablolar yerine) kullanıyorsanız, hem kaynak sorgular arasında hem de bu sorgular ile veri kaynağı olarak kullanmakta olduğunuz tüm tablolar arasında birleştirmeler oluşturabilirsiniz.

Birleştirmeler, verilerin sorgu işlemlerine dahil etmek için eşleşmesi gereken kurallar oluşturması için sorgu ölçütlerine benzer davranır. Ölçütlerden farklı olarak, birleştirmeler birleştirme koşullarını karşılayan her satır çiftinin kayıt kümesinde birleştirerek tek bir satır oluşturmasını da belirtir.

Dört temel birleşim türü vardır: iç birleşimler, dış birleşimler, çapraz birleşimler ve eşit olmayan birleşimler. Bu makalede, kullanabileceğiniz her birleştirme türü, her türü neden kullanabileceğiniz ve birleşimlerin nasıl oluşturularak oluşturularak inceler.

Birleştirmeler, tablolar arasındaki ilişkilerin ne olduğu sorgulara aittir: iki kaynakta yer alan verilerin ortak veri değerlerine dayalı olarak nasıl birleştirileceğini gösteren gösterge. Burada, sorgu Tasarım Görünümü'ne bir birleştirmenin çizimi ve birleştirmenin özellikleri iletişim kutusunda açık olarak gösterilmiştir:

Birleştirme Özellikleri kutusu.

Tablolar arasındaki bu çizgi birleştirmeyi temsil eder. Birleştirme Özellikleri iletişim kutusunu (gösterilen) açmak ve birleştirmeyi gözden geçirmek veya değiştirmek için birleştirmeye çift tıklayın.

Birleşimler bazen yönseldir. İletişim kutusunun bu alanında birleştirmede hangi tablonun olduğu ve tabloları birleştirmek için kullanılan alanlar görüntülenir.

Bu alan birleştirme türünü belirler: 1. seçenek bir iç birleşim, 2 sol dış birleşim ve 3 de sağ dış birleşimdir.

Her iki tablodaki alanlar kullanılabilir ve her bir görevle ilgili veriler görüntülenir. İç birleşimde başka veri yoktur. Dış birleşimde, bir tablodaki ilgisiz kayıtlar sorgu sonuçlarına da dahil edilir.

Sayfanın Başı

Birleştirme türleri

Dört temel birleşim türü vardır: iç birleşimler, dış birleşimler, çapraz birleşimler ve eşit olmayan birleşimler. Çapraz birleşimler ve eşit olmayan birleşimler, gelişmiş birleşim türleridir ve nadiren kullanılır, ancak birleşimlerin nasıl işe yaray olduğunu tam olarak anlamak için bunları biliyor olması gerekir.

İç birleşimler: yalnızca her iki tablodan birleştirilmiş ilişkili veriler

İç birleşim, Access'in yalnızca ilgili tabloda karşılık gelen veriler varsa tablodaki verileri (ve tersi) içeren birleştirmedir. Çoğu zaman iç birleşimleri kullanırlar. Bir birleşim oluşturdukta ve ne tür bir birleştirme olduğunu belirtmezseniz, Access iç birleşim istediğiniz varsayıyor. İç birleşimler yararlı olur, çünkü paylaşılan değerlere dayalı olarak iki kaynakta yer alan verileri birleştirmeye izin verir; böylece verileri yalnızca tam resim olduğunda görüntüebilirsiniz.

Dış birleşimler: Tüm ilişkili veriler doğru bir şekilde birleştirildi ve bir tablodan kalan tüm kayıtlar

Dış birleşim, iç birleşime benzer, ancak tabloların birinin kalan satırlarını ekler. Dış birleşimler yönseldir: Sol dış birleşim, sol tablodaki (birleştirmedeki ilk tablo) tüm kayıtları, sağ dış birleştirme ise sağ tablodaki tüm kayıtları, birleştirmedeki ikinci tabloyu içerir.

Tam dış birleşimler: uygun olduğu yerde bir araya gelen tüm veriler

Bazı sistemlerde, dış birleşim her iki tablodaki tüm satırları içerebilir ve satırlar karşılık geldiğinde bir araya katılabilir. Buna tam dış birleşim denir ve Access bunları açıkça desteklemez. Bununla birlikte, aynı etkiyi elde etmek için çapraz birleştirmeyi ve ölçütleri kullanabilirsiniz.

Çapraz birleşimler: tüm veriler, mümkün olan her yolla bir araya geliyor

Çoğu zaman çapraz birleştirme, bir sorguya iki tablo eklemenin ve sonra bunları birleştirmeyi unutmanın yan etkisidir. Access bunu, bir tablodaki tüm kayıtları, diğer tablodaki tüm kayıtlarla birlikte görmek istediğiniz anlamına geliyor. Olası tüm kayıt bileşimleri. Hiçbir veri birleştirilene kadar, bu tür bir birleştirme nadiren yararlı sonuçlar verir. Ancak size gerekenin çapraz birleştirme olduğu birkaç durum vardır.

Eşit olmayan birleşimler: normal birleştirme gibi, ancak satırları birleştirmek için farklı bir karşılaştırma kullanma

Eşit olmayan birleşimler, değerleri karşılaştırmak ve verilerin nasıl birleştirilip birleştirilile olmadığını belirlemek için eşittir işareti (=) dışında bir işleç kullanır. Eşit olmayan birleşimler açıkça desteksizdir, ancak aynı etkiyi elde etmek için çapraz birleşim ve ölçütler kullanabilirsiniz.

Bir arayaki tabloların her ikisinde de ortak bir değerin bulunduğu satırları gösterme

Yalnızca bir araya katılan alanda eşleşen değerlere sahip satırları göstermek için iç birleşim kullanırsınız. Access, iç birleşimleri otomatik olarak oluşturur.

İç birleşimler, en sık kullanılan birleşim türüdür. Sorguya, bir araya gelen tablolardan birinin satırlarının, bir araya gelen alanlardaki veriler temelinde diğer tablodaki satırlara karşılık gelen satırlara karşılık olduğunu söyler. İç birleşim içeren bir sorgu çalıştır geldiğinde, sorgu işlemlerine yalnızca bir birleşimli tabloların her ikisinde de ortak değer bulunan satırlar dahil edilir.

İç birleştirmeyi nasıl kullanabilirim?

Çoğu zaman, iç birleşim kullanmak için hiçbir şey yapmana gerek yok. Bir sorguya ekley istediğiniz tabloların zaten ilişkileri varsa, tabloları eklerken Access her ilişkili tablo çifti arasında otomatik olarak bir iç birleşim oluşturur. başvuru bütünlüğü zorunlu tutulursa, Access ayrıca, birleştirme çizgisinin üstünde, bir-çok ilişkisinin "bir" tarafındaki tabloyu göstermek için "1" ve "çok" tarafındaki tabloyu göstermek için de sonsuz simgesini () görüntüler.

İlişkiler oluşturmasanız bile, bir sorguya iki tablo eklersiniz ve bu tabloların her biri aynı veya uyumlu veri türüne sahip bir alana sahipse ve birleşim alanlarından biri de birincil anahtar. Bilgi tutarlılığı zorunlu değildir, çünkü bu durumda "bir" ve "çok" simgeleri görüntülenmez.

Sorgunuza sorgu ekler ve bu sorgular arasında ilişki oluşturmazsanız, Access bu sorgular arasında veya sorgular ile tablolar arasında otomatik olarak iç birleşimler oluşturmaz. Genel olarak, bunları kendiniz oluşturmanız gerekir. Bir veri kaynağından bir alanı başka bir veri kaynağında yer alan bir alana sürükleyerek iç birleşim oluşturabilirsiniz. Access, birleştirme oluşturulduğunu göstermek için iki alan arasında bir çizgi görüntüler.

İç birleşim için SQL söz dizimi

İç birleşimler aşağıda gösterildiği gibi, FROM yan tümcesinde SQL'de belirtilir:

FROM tablo1 INNER JOIN tablo2 ON tablo1.alan1 karşılaştırma tablosu2.alan2

INNER JOIN işleminin bölümleri:

Bölüm

Açıklama

tablo1, tablo2

Kayıtların birleştirileceği tabloların adı.

alan1, alan2

Birleştirilen alanların adı. Alanlar sayısal değilse, aynı veri türü olmalı ve aynı türde veriler içermelidir, ancak alanların aynı ada sahip olması gerekmez.

karşılaştırma

Herhangi bir ilişkisel karşılaştırma işleci: "=," "<," ">," "<=," ">=" veya "<>."

İç birleştirme söz dizimi hakkında daha fazla bilgi için INNER JOIN Operation başlığına bakın.

Sayfanın Başı

Bir tablodan tüm satırları ve diğer tablodaki karşılık gelen satırları gösterme

Dış birleşimler bir sorguya, birleştirmenin her iki tarafında yer alan bazı satırların tam olarak karşılık gelen sorguda, bir tablodaki tüm satırların ve ayrıca diğer tablodan alınan ve birleştirmenin her iki yanında da ortak bir değerin paylaş yer alan satırları içermesi gerektiğini söyler.

Dış birleşimler, sol dış birleşimler veya sağ dış birleşimler olabilir. Sol dış birleşimde, sorgu SQL deyimi FROM yan tümcesinde ilk tablodan tüm satırları ve birleştirme alanında her iki tabloda da ortak değerler bulunan diğer tablodaki satırları içerir. Sağ dış birleşimde, sorgu SQL deyimi FROM yan tümcesinde ikinci tablodan tüm satırları ve birleştirme alanında her iki tabloda da ortak değerler içeren diğer tablodaki satırları içerir.

Not: Verilen birleştirmede hangi tablonun sol tablo veya sağ tablo olduğunu kolayca anlayabilirsiniz; bunun için birleştirmeyi çift tıklatıp Birleşim Özellikleri iletişim kutusuna bakabilirsiniz. Ayrıca SQL görünümüne geçin ve FROM yan tümcesini incelersiniz.

Dış birleştirmenin bir tarafındaki bazı satırlarda diğer tablodan karşılık gelen satırlar olmayacak olduğundan, sorgu sonuçlarında döndürülen alanlardan bazıları, satırlar karşılık geldiğinde o tablodan boş olacaktır.

Dış birleştirmeyi nasıl kullanabilirim?

Varolan bir iç birleştirmeyi değiştirerek dış birleşim oluşturabilirsiniz. İç birleşim yoksa, bir birleşim oluşturabilir ve bunu dış birleşim olarak değiştirebilirsiniz.

İç birleştirmeyi dış birleşimle değiştirme

  1. Sorgu Tasarım görünümünde, değiştirmek istediğiniz birleştirmeye çift tıklayın.

    Birleştirme Özellikleri iletişim kutusu görüntülenir.

  2. Birleştirme Özellikleri iletişim kutusunda,2. seçeneğin ve 3.seçeneğin yanında listelenen seçenekleri not edin.

  3. Kullanmak istediğiniz seçeneğe ve ardından Tamam'a tıklayın.

  4. Access birleştirmeyi görüntüler ve veri kaynağından tüm satırların veri kaynağına ekli olduğu bir oku gösterir; burada yalnızca birleştirme koşulunu karşılayan satırlar dahil edilir.

Belirsiz dış birleşimler

LEFT JOIN ve INNER JOIN içeren bir sorgu oluşturursanız, Access önce hangi birleştirme işleminin gerçekleştir katılacağını belirleyenem. Sonuçlar, ilk olarak sol birleştirmenin mi yoksa iç birleştirmenin mi gerçekleştirileceğine bağlı olarak farklı olduğundan, Access bir hata iletisi görüntüler:

Bu hatayı düzeltmek için, sorguyu değiştirerek önce hangi birleştirmenin gerçekleştirleceklerini temizlemeniz gerekir.

Dış birleşim için SQL söz dizimi

Dış birleşimler aşağıda gösterildiği gibi, FROM yan tümcesinde SQL'de belirtilir:

FROM tablo1 [ SOLDAN | RIGHT ] JOIN table2
ON table1.field1 compare table2.field2

LEFT JOIN ve RIGHT JOIN işlemlerinin bölümleri:

Bölüm

Açıklama

tablo1, tablo2

Kayıtların birleştirileceği tabloların adı.

alan1, alan2

Birleştirilen alanların adı. Alanlar aynı veri türü olmalı ve aynı türde veriler içermelidir, ancak alanların aynı ada sahip olması gerekmez.

karşılaştırma

Herhangi bir ilişkisel karşılaştırma işleci: "=," "<," ">," "<=," ">=" veya "<>."

Dış birleşim söz dizimi hakkında daha fazla bilgi için LEFT JOIN, RIGHT JOIN Operations konularına bakın.

Sayfanın Başı

Her iki tablodaki tüm satırları gösterme ve ortak bir değer varsa bunları birleştirme

İki tablodaki tüm satırları göstermek ve ortak değerlere dayalı olarak birleştirmek istediğiniz zaman, tam dış birleşim kullanırsınız. Access açıkça tam dış birleşimleri desteklemez, ancak birleşim sorgusu kullanarak aynı etkiyi eldeebilirsiniz. Aşağıdaki yordamda bunun nasıl olduğu açıklandı, ancak union sorguları hakkında daha fazla bilgi almak için Ayrıca Bkz bölümüne bakın.

Tam dış birleşim gerçekleştirmek üzere birleşim sorgusu kullanmak için:

  1. Tam dış birleşim için kullanmak istediğiniz alanda sol dış birleşime sahip bir sorgu oluşturun.

  2. Giriş sekmesinde, Görünümler grubunda Görünüm'ü, ardından SQL Görünümü'nü tıklatın.

  3. SQL kodunu kopyalamak için CTRL+C tuşlarına basın.

  4. FROM yan tümcesi sonundaki noktalı virgülden silin ve ENTER tuşuna basın.

  5. UNION yazın ve ENTER tuşuna basın.

    Not: Tam dış birleşim gerçekleştirmek için birleşim sorgusu kullanırken ALL anahtar sözcüğünü kullanmayın.

  6. 3. adımda kopyalanan SQL kodunu yapıştırmak için CTRL+V tuşlarına basın.

  7. Yapıştırmış olduğunuz kodda, LEFT JOIN'i RIGHT JOIN olarak değiştirebilirsiniz.

  8. İkinci FROM yan tümcesini sonundaki noktalı virgülden silin ve ENTER tuşuna basın.

  9. FROM yan tümcesinde listelenen ilk tabloda (sol tablo) birleşim alanı değerinin NULL olduğunu belirten bir WHERE yan tümcesi ekleyin.

    Örneğin, FROM yan tümcesi:

    FROM Products RIGHT JOIN [Order Details] 
    ON Products.ID = [Order Details].[Product ID]

    Aşağıdaki WHERE yan tümcesini eklersiniz:

    WHERE Products.ID IS NULL

  10. Noktalı virgül (;) where yan tümcesini sonuna kadar gösterir.

  11. Tasarım sekmesinin Sonuçlar grubunda Çalıştır'a tıklayın.

Çapraz birleşimler

Çapraz birleşimler iç ve dış birleşimlerden farklıdır ve bu birleşimler dış birleşimlerde açıkça Access. Çapraz birleştirmede, bir tablodaki her satır başka bir tablodan gelen her satırla bir araya getirerek çapraz ürün veya Kartesyen ürün olarak adlandırılan ürün elde olur. Açıkça birleştiri olmayan tabloların olduğu bir sorguyu her çalıştırabilirsiniz; çapraz ürün sonuçta elde edilen sonuçlardır. Çapraz birleşimler genellikle genellikle alışılmadık bir birleşimdir, ancak yararlı olacak durumlar da vardır.

Çapraz birleştirmeyi neden kullana musunuz?

İki tablo veya sorgu arasındaki tüm olası satır bileşimlerini incelemek için çapraz birleştirme kullanın. Örneğin, işletmenizin göz alıcı bir yıl olduğunu ve müşterilerinize indirim vermeyi düşünün. Her müşterinin satın almalarının toplamını alan bir sorgu oluşturabilir, birkaç olası indirim yüzdesine sahip küçük bir tablo oluşturabilir ve bu iki sorguyu çapraz birleştirme gerçekleştiren başka bir sorguda birleştirebilirsiniz. Sonuçta, her müşteri için varsayımsal indirimlerin bir dizi görüntü olduğu bir sorgunuz olur.

Çapraz birleştirmeyi nasıl kullanabilirim?

Çapraz birleşim, sorgunuza tablo veya sorgular dahil her zaman hazır olur ve her tablo veya sorgu için en az bir açık birleştirme oluşturmaz. Access, açıkça başka bir tablo veya sorguyla birleştiri olmayan her tablo veya sorgudaki her satırı sonuçlardaki diğer tüm satırlarla birleştirir. Önceki paragraftan indirim senaryosunu düşünün. 91 müşterisi olduğunu ve beş olası indirim yüzdesine bakmak istediğiniz varsayalım. Çapraz birleştirmeniz 455 satır (91 ve 5'in çarpımı) üretir.

Tahmin olabileceğiniz gibi, aslında çapraz birleştirmeler sorgu sonuçlarınıza çok fazla sayıda satır oluşturabilir. Üstelik bu sonuçlar genel olarak anlamsızdır, çünkü aslında her satırı diğer tüm satırlarla birleştirmek istiyorsanız, sonuçlarda görünen birleştirilmiş satırların çoğu anlamlı olmaz. Son olarak, amaçsız çapraz birleşimler kullanan sorguların çalışması çok uzun zaman alabilr.

Sorgu Tasarım görünümünde amaçlanmayan çapraz birleştirme

1. Daire içine alınan alanlar birbirine birleştirin.

Amaçlanmayan çapraz ürün

1. Çok fazla sayıda kayıt olduğunu unutmayın.

Düzeltilen sorgu sonucu

1. Kayıt sayısının çok daha küçük olduğunu unutmayın.

Sayfanın Başı

Alan değerlerinin eşitliğini temel alarak tabloları birleştirme

Birleştirmelerin, bir araya alınan alanların eşdeğerlerine bağlı olması gerekir. Birleştirme, büyüktür ( >), küçük (<) veya eşit değil (<>) gibi herhangi bir karşılaştırma işlecine dayalı olabilir. Eşdeğerliği temel alan olmayan birleşimler, eşit olmayan birleşimler olarak çağrılır.

İki veri kaynağında eşit olmayan alan değerlerine dayalı olarak satırları birleştirmek için, eşit olmayan bir birleştirme kullanırsınız. Normalde, eşit olmayan birleştirmeler büyüktür (>), küçük (<), büyüktür veya eşittir (>=) veya küçük (< =) karşılaştırma işleçlerine dayalıdır. Eşit olmayan (<>) işlecine dayalı eşit olmayan birleşimler, çapraz birleştirmeler kadar çok satır geri dönüşe neden olabilir ve sonuçları yorumlamak zor olabilir.

Eşit olmayan bir birleştirmeyi nasıl kullanabilirim?

Tasarım görünümünde eşit olmayan birleştirmeler desteklenmiyor. Bunları kullanmak isterseniz, bunu SQL görünümünü kullanarak yapmak gerekir. Bununla birlikte, Tasarım görünümünde birleşim oluşturabilir, SQL görünümüne geçiş yapar, eşittir (=) karşılaştırma işlecini bulabilir ve bunu kullanmak istediğiniz işleçle değiştirebilirsiniz. Bunu tamamladikten sonra, sorguyu yalnızca SQL görünümünde karşılaştırma işlecini yeniden eşittir (=) olarak değiştirirsiniz.

Birleştirmeyi silme

Access otomatik olarak, istemedikniz bir birleştirmeyi oluşturursa veya birleştirmeyi yanlışlıkla oluşturursanız (örneğin, benzemeyen veri türlerine sahip iki alan arasındaki birleştirme) birleştirmeyi silebilirsiniz.

  1. Sorgu tasarım kılavuzunda, kaldırmak istediğiniz birleştirmeye tıklayın.

  2. DELETE tuşuna basın.

-veya-

  • Sorgu tasarım kılavuzunda, kaldırmak istediğiniz birleştirmeye sağ tıklayın ve ardından Sil'e tıklayın.

Sayfanın Başı

Ayrıca Bkz:

Ekleme sorgusu kullanarak

Birden

oluşturma,

Daha fazla yardıma mı ihtiyacınız var?

Office yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Office Insider Programına Katılın

Bu bilgi yararlı oldu mu?

×