Tabloları ve sorguları birleştirme
Applies ToMicrosoft 365 için Access Access 2024 Access 2021 Access 2019 Access 2016

Access sorgusuna birden çok veri kaynağı eklediğinizde, veri kaynaklarının birbiriyle nasıl ilişkili olduğuna bağlı olarak, görmek istediğiniz kayıtları sınırlamak için birleştirmeleri kullanırsınız. Ayrıca, her iki veri kaynağındaki kayıtları birleştirmek için birleştirmeleri de kullanırsınız, böylece kaynaklardan gelen her kayıt çifti sorgu sonuçlarında bir kayıt haline gelir.

Bu makalede çeşitli birleşim türleri ele alınmaktadır ve bunların sorguda nasıl kullanılacağı gösterilmektedir. Varsayılan olarak, sorguda kullandığınız 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ştirme de oluşturulur. Otomatik olarak oluşturulan birleştirmeyi silebilirsiniz. Bu makalede, tablo ilişkileri hakkında, nasıl oluşturulacağı da dahil olmak üzere temel bilgiler sağlanır.

Not: Sorguları tabloları birleştirdiğiniz gibi birleştirebilirsiniz ve her ikisini de birleştirebilirsiniz.

Bu makalede

Genel Bakış

Veritabanı, birbiriyle mantıksal ilişkilere sahip veri tablolarından oluşan bir koleksiyondur. Tabloları ortak olan alanlara göre bağlamak için ilişkileri kullanırsınız. Tablo, herhangi bir sayıda ilişkinin parçası olabilir, ancak her ilişkide her zaman tam olarak iki tablo bulunur. Sorguda ilişki birleştirme ile temsil edilir.

Sorguya tablo eklediğinizde, Access tablolar arasında tanımlanmış ilişkileri temel alan birleşimler oluşturur. Önceden tanımlanmış ilişkileri temsil etmeseler bile sorgularda el ile birleşimler oluşturabilirsiniz. Sorgu için veri kaynağı olarak başka sorgular (tablolar yerine veya tablolara ek olarak) kullanıyorsanız, kaynak sorgular arasında ve ayrıca bu sorgular ile veri kaynağı olarak kullandığınız tablolar arasında birleştirmeler oluşturabilirsiniz.

Birleşimler, sorgu işlemlerine dahil olmak için verilerin eşleşmesi gereken kurallar oluşturmaları için sorgu ölçütlerine benzer şekilde davranır. Ölçütlerden farklı olarak birleşimler, birleştirme koşullarını karşılayan her satır çiftinin kayıt kümesinde birleştirilerek tek bir satır oluşturulması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 kullandığınız ve birleştirmelerin nasıl oluşturulacağı ele alır.

Birleşimler, tablolarla ilişkilerin ne olduğunu sorgulamaya yöneliktir: iki kaynaktaki verilerin ortak olan veri değerlerine göre nasıl birleştirilebileceğini gösteren bir göstergedir. Sorgu Tasarım Görünümü'nde birleştirmenin özelliklerini bir iletişim kutusunda açık olan bir birleştirme çizimi aşağıda gösterilmiştir:

Birleştirme Özellikleri kutusu.

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

Birleşimler bazen yönseldir. İletişim kutusunun bu alanında, birleştirmede hangi tablonun hangi tablo olduğu ve tabloları birleştirmek için hangi alanların kullanıldığı gösterilir.

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

Her iki tablodan alanlar kullanılabilir ve belirli bir görevle ilgili veriler her birinden görüntülenir. İç birleşimde başka veri bulunmaz. Dış birleşimde, bir tablodaki ilişkisiz kayıtlar da sorgu sonuçlarına eklenir.

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ştirme türleridir ve nadiren kullanılır, ancak birleştirmelerin nasıl çalıştığını tam olarak anlamak için bunları bilmeniz gerekir.

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

İç birleşim, Access'in tablodaki verileri yalnızca ilişkili tabloda karşılık gelen veriler varsa (veya tam tersi) içerdiği bir birleşimdir. Çoğu zaman iç birleşimleri kullanırsınız. Birleştirme oluşturduğunuzda ve ne tür bir birleştirme olduğunu belirtmediğinizde, Access iç birleşim istediğinizi varsayar. İç birleşimler, paylaşılan değerlere dayalı olarak iki kaynaktan verileri birleştirmenize olanak sağladığından yararlıdır; bu nedenle verileri yalnızca tam bir resim olduğunda görürsünüz.

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

Dış birleşim iç birleşim gibidir, ancak tablolardan birinden kalan satırları ekler. Dış birleşimler yönseldir: sol dış birleşim, sol tablodaki tüm kayıtları (birleştirmedeki ilk tablo) ve sağ dış birleşim ise sağ tablodaki tüm kayıtları (birleştirmedeki ikinci tablo) içerir.

Tam dış birleşimler: uygun yerlerde birleştirilmiş tüm veriler

Bazı sistemlerde, dış birleşim her iki tablodan tüm satırları içerebilir ve karşılık geldiğinde satırlar birleştirilebilir. Buna tam dış birleşim denir ve Access bunları açıkça desteklemez. Ancak, aynı etkiyi elde etmek için çapraz birleştirme ve ölçütler kullanabilirsiniz.

Çapraz birleştirmeler: tüm veriler, mümkün olan her şekilde birleştirildi

Çoğu zaman çapraz birleşim, bir sorguya iki tablo eklemenin ve sonra birleştirmeyi unutmanın yan etkisidir. Access bunu, bir tablodaki her kaydı diğer tablodaki her kayıtla (olası tüm kayıt birleşimleriyle) birleştirmek istediğiniz anlamına gelir. Hiçbir veri birleştirilemediğinden, bu tür birleştirmeler nadiren yararlı sonuçlar üretir. Ancak çapraz birleştirmenin tam da ihtiyacınız olan şey 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 birleştirilip birleştirmeyeceğini ve nasıl birleştirileceğini belirlemek için eşittir işareti (=) dışında bir işleç kullanır. Eşit olmayan birleşimler açıkça desteklenmez, ancak aynı etkiyi elde etmek için çapraz birleştirme ve ölçüt kullanabilirsiniz.

Birleştirilen tabloların her ikisinde de ortak bir değerin bulunduğu satırları gösterme

Yalnızca birleştirilmiş alanda eşleşen değerlere sahip satırları göstermek istiyorsanız, iç birleşim kullanırsınız. Access otomatik olarak iç birleşimler oluşturur.

İç birleşimler, en sık kullanılan birleşim türüdür. Bir sorguya, birleştirilmiş tablolardan birindeki satırların, birleştirilmiş alanlardaki veriler temelinde diğer tablodaki satırlara karşılık geldiğini söyler. İç birleşim içeren bir sorgu çalıştırıldığında, sorgu işlemlerine yalnızca birleştirilen tabloların her ikisinde de ortak bir değerin bulunduğu satırlar dahil edilir.

İç birleşim kullanmak Nasıl yaparım??

Çoğu zaman iç birleşim kullanmak için hiçbir şey yapmanız gerekmez. Sorguya eklediğiniz tabloların zaten ilişkileri varsa, tabloları eklediğinizde 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.

henüz ilişki oluşturmamış olsanız bile, sorguya iki tablo eklerseniz ve bu tabloların her biri aynı veya uyumlu veri türüne sahip bir alana sahipse ve birleştirme alanlarından biri birincil anahtar ise Access otomatik olarak iç birleşimler oluşturur. Bilgi tutarlılığı zorunlu tutulmadığından bu durumda "bir" ve "çok" simgeleri görüntülenmez.

Sorgunuza sorgu eklerseniz ve bu sorgular arasında ilişki oluşturmadıysanı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 alanı bir veri kaynağından başka bir veri kaynağındaki alana sürükleyerek iç birleşim oluşturursunuz. 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 SQL'de FROM yan tümcesinde aşağıda gösterildiği gibi belirtilir:

FROM tablo1 INNER JOIN tablo2 ON tablo1.field1 compare table2.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şim söz dizimi hakkında daha fazla bilgi için INNER JOIN İşlemi konusuna bakın.

Sayfanın Başı

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

Dış birleşimler sorguya birleştirmenin her iki tarafındaki satırlardan bazıları tam olarak karşılık gelse de, sorgunun bir tablonun tüm satırlarını ve ayrıca birleştirmenin her iki tarafında ortak bir değeri paylaşan diğer tablodaki 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ümcesindeki ilk tablodaki tüm satırları ve yalnızca birleştirme alanının her iki tabloda da ortak değerler içerdiği diğer tablodaki satırları içerir. Sağ dış birleşimde sorgu, SQL deyimi FROM yan tümcesindeki ikinci tablonun tüm satırlarını ve yalnızca birleştirme alanının her iki tabloda da ortak değerler içerdiği diğer tablodaki satırları içerir.

Not: Birleştirmeye çift tıklayıp Birleştirme Özellikleri iletişim kutusuna bakarak, belirli bir birleşimde hangi tablonun sol tablo veya sağ tablo olduğunu kolayca anlayabilirsiniz. Ayrıca SQL görünümüne geçip FROM yan tümcesini inceleyebilirsiniz.

Dış birleştirmenin bir tarafındaki satırlardan bazıları diğer tablodan karşılık gelen satırlara sahip olmadığından, sorguda döndürülen alanların bazıları diğer tablodan döndürülür ve satırlar karşılık olmadığında boş olur.

Dış birleşim kullanmak Nasıl yaparım??

Var olan bir iç birleşimi değiştirerek dış birleşim oluşturursunuz. İç birleşim yoksa, bir birleşim oluşturur ve sonra bunu dış birleşim olarak değiştirirsiniz.

İç birleşimi dış birleşim olarak 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. 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 eklendiği ve yalnızca birleştirme koşulunu karşılayan satırların dahil olacağı bir ok gösterir.

Belirsiz dış birleşimler

LEFT JOIN ve INNER JOIN içeren bir sorgu oluşturursanız, Access ilk olarak hangi birleştirme işleminin gerçekleştirileceğini belirleyemeyebilir. Sonuçlar, sol birleştirmenin veya iç birleştirmenin önce gerçekleştirilip gerçekleştirilmediğ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 ilk olarak hangi birleştirmenin gerçekleştirileceği açık olmalıdır.

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

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

FROM tablo1 [ LEFT | SAĞ ] JOIN table2ON 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ştirme söz dizimi hakkında daha fazla bilgi için LEFT JOIN, RIGHT JOIN Operations konusuna bakın.

Sayfanın Başı

Her iki tablodan tüm satırları gösterin ve ortak bir değerin bulunduğu yerde birleştirin

İki tablodaki tüm satırları göstermek ve bunları ortak değerlere göre birleştirmek istediğinizde, tam dış birleşim kullanırsınız. Access tam dış birleşimleri açıkça desteklemez, ancak birleşim sorgusu kullanarak aynı etkiyi elde edebilirsiniz. Aşağıdaki yordamda bunun nasıl gerçekleştirileceği açıklanır, ancak birleşim sorguları hakkında daha fazla bilgi edinmek isterseniz Ayrıca Bkz bölümüne bakın.

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

  1. Tam dış birleşim için kullanmak istediğiniz alanda sol dış birleşim içeren 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ümcesinin sonundaki noktalı virgülleri 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 kopyaladığınız SQL kodunu yapıştırmak için CTRL+V tuşlarına basın.

  7. Yapıştırdığınız kodda , LEFT JOIN'iRIGHT JOIN olarak değiştirin.

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

  9. FROM yan tümcesinde (sol tablo) listelenen ilk tabloda birleştirme alanının 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. Birleşim sorgusunun sonunu belirtmek için WHERE yan tümcesinin sonuna noktalı virgül (;)) yazın.

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

Çapraz birleşimler

Çapraz birleşimler, içindeki iç ve dış birleşimlerden farklıdır ve bunlar açıkça Access içinde temsil edilmemektedir. Çapraz birleşimde, bir tablodaki her satır başka bir tablodaki her satırla birleştirilir ve bu da çapraz ürün veya Kartezyen ürün olarak adlandırılır. Açıkça birleştirilmemiş tabloları olan bir sorgu çalıştırdığınızda sonuç çapraz ürün olur. Çapraz birleşimler genellikle kasıtsızdır, ancak yararlı olabilecek durumlar vardır.

Neden çapraz birleşim kullanmalıyım?

İki tablo veya sorgu arasındaki her olası satır birleşimini incelemek istiyorsanız çapraz birleştirme kullanın. Örneğin, işletmenizin muhteşem bir yıl geçirdiğini ve müşterilerinize indirim yapmayı düşündüğünüzu varsayalım. Her müşterinin satın alma işlemlerini toplayan bir sorgu oluşturabilir, birkaç olası indirim yüzdesine sahip küçük bir tablo oluşturabilir ve bu ikisini çapraz birleştirme gerçekleştiren başka bir sorguda birleştirebilirsiniz. Her müşteri için bir dizi varsayımsal indirim görüntüleyen bir sorguyla sonuç alırsınız.

Çapraz birleşim kullanmak Nasıl yaparım??

Çapraz birleştirme, sorgunuza tablo veya sorgu eklediğinizde oluşturulur ve her tablo veya sorgu için en az bir açık birleşim oluşturmaz. Access, sonuçlardaki diğer herhangi bir tabloya veya sorguya açıkça katılmayan her tablo veya sorgudaki her satırı birleştirir. Önceki paragraftaki indirim senaryolarını göz önünde bulundurun. 91 müşteriniz olduğunu ve beş olası indirim yüzdesine bakmak istediğinizi varsayalım. Çapraz birleştirmeniz 455 satır (91 ve 5'in ürünü) üretir.

Tahmin edebileceğiniz gibi, istemeden çapraz birleşimler sorgu sonuçlarınızda çok sayıda satır oluşturabilir. Ayrıca, bu sonuçlar genel olarak anlamsızdır, çünkü her satırı diğer satırlarla birleştirmeyi amaçlamıyorsanız, sonuçlarda görünen birleştirilmiş satırların çoğu anlamlı olmaz. Son olarak, istemeden çapraz birleşimler kullanan sorguların çalıştırılması çok uzun sürebilir.

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

1. Daire içine alınmış alanlar birbirine birleştirilmelidir.

Amaçlanmayan çapraz ürün

1. Çok fazla sayıda kaydı not edin.

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şitsizliğine göre tabloları birleştirme

Birleştirmeler, birleştirilen alanların eşdeğerliğini temel almak zorunda değildir. Birleştirme, büyüktür (>), küçüktür (<) veya eşit değildir (<>) gibi herhangi bir karşılaştırma işlecini temel alabilir. Denkliği temel almamış birleşimler eşit olmayan birleşimler olarak adlandırılır.

İki veri kaynağının satırlarını eşit olmayan alan değerlerine göre birleştirmek istiyorsanız, eşit olmayan bir birleştirme kullanırsınız. Eşit olmayan birleşimler genellikle büyüktür (>), küçüktür (<), büyüktür veya eşittir (>=) veya küçük veya eşittir (<=) karşılaştırma işleçlerini temel alır. eşit değil (<>) işlecini temel alan eşit olmayan birleşimler, çapraz birleşimler kadar çok satır döndürebilir ve sonuçları yorumlamak zor olabilir.

Eşit olmayan bir birleşim Nasıl yaparım??

Tasarım görünümünde eşit olmayan birleştirmeler desteklenmez. Bunları kullanmak istiyorsanız, SQL görünümünü kullanarak bunu yapmanız gerekir. Ancak Tasarım görünümünde birleştirme oluşturabilir, SQL görünümüne geçebilir, eşittir (=) karşılaştırma işlecini bulabilir ve bunu kullanmak istediğiniz işleçle değiştirebilirsiniz. Bunu yaptıktan sonra, sorguyu tasarım görünümünde yalnızca karşılaştırma işlecini sql görünümünde eşittir (=) olarak değiştirirseniz yeniden açabilirsiniz.

Birleştirmeyi silme

Access otomatik olarak istemediğiniz bir birleştirme oluşturursa veya yanlışlıkla birleştirme oluşturursanız (örneğin, benzer olmayan veri türlerine sahip iki alan arasında 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şı

Ekleme sorgusu kullanarak tabloya kayıt ekleme

sorgusu kullanarak birkaç seçme sorgusunun sonuçlarını birleştirme

Birden çok tabloyu temel alan sorgu oluşturma

İlişki oluşturma, düzenleme veya silme

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

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.