Tabloları ve sorguları birleştirme

Tabloları ve sorguları birleştirme

Önemli : Bu makale makine çevisidir. Bkz. yasal uyarı. Bu makalenin İngilizce sürümüne buradan ulaşabilirsiniz.

Birden çok veri kaynağından bir Access sorgusunda eklediğinizde, istediğiniz görmek için nasıl veri kaynakları için birbirleriyle üzerinde dayalı kayıtları sınırlamak için birleştirmeler kullanın. Sorgu sonuçlarında bir kayıt kaynaklarını kayıtlarından her çifti dönüşür birleştirmeler her iki veri kaynaklarından kayıtları birleştirmek için de.

Bu makalede farklı birleştirme türleri ele alınmakta ve bunları bir sorguda nasıl kullanacağınız gösterilmektedir. Varsayılan olarak, zaten varsa ilişki sorguda kullandığınız iki veri kaynağı arasındaki birleştirme otomatik olarak oluşturulur. Açıkça birbirine karşılık gelen alanlar varsa birleştirme de oluşturulur. Otomatik olarak oluşturulan bir birleşim silebilirsiniz. Bu makalede nasıl oluşturulacağı dahil olmak üzere, tablo ilişkileri hakkında temel bilgiler sağlar.

Not : Tabloları birleştirme ve her ikisi de katılabilirsiniz aynı şekilde sorguları katılabilirsiniz.

Bu makalede

Genel bakış

Ortak bir değer birleştirilen tabloların ikisinde bulunan satırları gösterme

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

Her iki tablodaki tüm satırları gösterme ve ortak bir değer bulunduğu katılma

Çapraz birleştirmeler

Tabloları alan değerlerinin eşit olmayışına göre birleştirme

Birleştirmeyi silme

Genel Bakış

Bir veritabanı tabloları birbirleriyle mantıksal ilişkiler size aittir veri topluluğudur. İlişkiler ortak olan alanlara göre tabloları bağlanmak için kullanın. Tablo ilişkileri herhangi bir sayıda parçası olabilir, ancak her ilişkinin her zaman tam olarak iki tablo bulunur. Sorguda, ilişki Katıl temsil edilir.

Sorguya tablo eklediğinizde, Access tanımlanan tablolar arasında ilişkiler dayalıdır birleştirmeler oluşturur. Önceden tanımlanmış ilişkileri göstermeyen olsa bile, sorgularda birleştirmeler el ile oluşturabilirsiniz. Bir sorgu için veri kaynakları olarak diğer sorguları (yerine veya tabloları yanı sıra) kullanırsanız, birleştirmeler kaynağı sorguları ve arasındaki de bu sorgular ve veri kaynakları olarak kullandığınız herhangi bir tablo oluşturabilirsiniz.

Birleştirmeler, verilerin sorgu işlemlerine dahil edilmek için uyması gereken kurallar meydana getirmeleri bakımından, sorgu ölçütlerine benzer şekilde davranır. Ölçütlerin tersine, birleştirmeler, birleştirme koşullarına uyan her satır çiftinin tek bir satır oluşturmak için kayıt kümesinde birleştirilmesini de belirler.

Dört temel birleştirme türü vardır: iç birleştirmeler, dış birleştirmeler, çapraz birleştirmeler ve eşit olmayan birleştirmeler. Bu makalede, kullanabileceğiniz bileştirme türleri, her türü ne için kullanacağınız ve nasıl birleştirme oluşturacağınız incelenmektedir.

Sayfanın Başı

Ortak bir değer birleştirilen tabloların ikisinde bulunan satırları gösterme

Yalnızca, birleştirilen alanda eşleşen değerleri bulunan satırları göstermek isterseniz, iç birleştirme kullanırsınız. Access iç birleştirmeleri otomatik olarak oluşturur.

İç birleştirmeler, en yaygın birleştirme türüdür. Bunlar bir sorguya, birleştirilen tablolardan birindeki satırların, birleştirilen alanlardaki verileri temel alarak, diğer tablodaki satırlara karşılık geldiğini bildirir. İç birleştirme içeren bir sorgu çalıştırıldığında, sorgu işlemlerine yalnızca, birleştirilen tabloların her ikisinde de bulunan ortak bir değere sahip satırlar dahil edilir.

Nasıl iç birleştirme kullanırım?

Çoğu zaman, iç birleştirme kullanmak için bir şey yapmanız gerekmez. Sorguya eklediğiniz alanların zaten ilişkileri varsa, tabloları eklediğinizde Access, her bir ilişkili tablo çifti arasında otomatik olarak bir iç birleştirme oluşturur. başvuru bütünlüğü zorunlu tutulursa, Access ayrıca, birleşim ç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şturmamış olsanız bile, sorguya iki tablo eklerseniz, bu tabloların her ikisi de veri türü aynı veya uyumlu olan bir alana sahipse ve birleştirme alanlarından birisi birincil anahtar ise, Access iç birleştirmeleri otomatik olarak oluşturur. Bilgi tutarlılığı zorunlu kılınmadığı için, bu durumda "bir" ve "çok" sembolleri görüntülenmez.

Sorgunuza sorgular eklerseniz ve bu sorgular arasında ilişkiler oluşturmadıysanız, Access bu sorgular arasında veya sorgularla tablolar arasında otomatik olarak iç birleştirmeler oluşturmaz. Genellikle, bunları sizin oluşturmanız gerekir. İç birleştirmeyi, bir veri kaynağından bir alanı, başka bir veri kaynağındaki alana sürükleyerek oluşturursunuz. Access bir birleştirme oluşturulduğunu göstermek için iki alan arasında bir çizgi görüntüler.

İç birleştirme için SQL sözdizimi

İç birleştirmeler SQL'de, aşağıda görüldüğü gibi FROM yan tümcesinde belirtilir:

GELEN tablo1 INNER JOIN tablo2 ON tablo1. alan1 tablo2 karşılaştırın. alan2

INNER JOIN işleminin bölümleri şunlardır:

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özdizimi hakkında daha fazla bilgi için INNER JOIN işlemikonusuna bakın.

Sayfanın Başı

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

Dış birleştirmeler sorguya, birleştirmenin her iki tarafındaki satırlardan bazılarının bir birinin tam karşılığı olduğu halde, sorgunun bir tablodan tüm satırları içermesini ve diğer tablodan da birleştirmenin her iki tarafındaki ortak bir değeri paylaşan satırları içermesini bildirir.

Dış birleştirmeler sol dış birleştirme veya sağ dış birleştirme olabilir. Bir sol dış birleştirmede, sorgu SQL ifadesi FROM yan tümcesinde ilk tablodan tüm satırları ve diğer tablodan yalnızca birleşen alanın her iki tabloda ortak olan değerleri içerdiği satırları içerir. Bir sağ dış birleştirmede, sorgu SQL ifadesi FROM yan tümcesinde ikinci tablodan tüm satırları ve diğer tablodan yalnızca birleşen alanın her iki tabloda ortak olan değerleri içerdiği satırları içerir.

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

Dış birleştirmenin bir tarafındaki satırlardan bazılarının diğer tabloda karşılığı olan satırlar bulunmayacağından, satırlar karşılık gelmediğinde bu diğer tablodaki sorgudan döndürülen alanlardan bazıları boş kalacaktır.

Nasıl dış birleştirme kullanırım?

Dış birleştirmeyi, varolan bir iç birleştirmede değişiklik yaparak oluşturursunuz. Mevcut bir iç birleştirme yoksa, bir iç birleştirme oluşturur ve sonra da bunu dış birleştirmeye dönüştürürsünüz.

İç birleştirmeyi dış birleştirmeye dönüştürme

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

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

  2. Birleştirme Özellikleri iletişim kutusunda, seçenek 2 ve seçenek 3 yanında listelenen seçenekleri göz önünde bulundurun.

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

  4. Access birleştirmeyi görüntüler ve bir ok gösterir; bu okun yönü, tüm satırların ekleneceği veri kaynağından, yalnızca birleştirme koşuluna uyan satırların ekleneceği veri kaynağına doğrudur.

Belirsiz dış birleştirmeler

LEFT JOIN ve iç birleştirme içeren sorgu oluşturursanız, Access hangi belirleme mümkün olmayabilir katılma ilk gerçekleştirilecek işlem. Sonuçları left JOIN veya iç birleştirme ilk gerçekleştirilip bağlı olarak farklı olduğundan, Access bir hata iletisi görüntülenir:

Bu hatayı düzeltmek için böylece hangi ilk olarak birleştirmenin Temizle sorguyu değiştirmeniz gerekir.

Dış birleştirme için SQL sözdizimi

Dış birleştirmeler SQL'de, aşağıda görüldüğü gibi FROM yan tümcesinde belirtilir:

Table1 TABLOSUNDAKİ [LEFT | DOĞRU] JOIN tablo2
üzerinde table1.field1 tablo2.alan2 karşılaştırma

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

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özdizimi hakkında daha fazla bilgi için LEFT JOIN, RIGHT JOIN işlemlerikonusuna bakın.

Sayfanın Başı

Her iki tablodaki tüm satırları gösterme ve ortak bir değer bulunduğu katılma

İki tablodaki tüm satırları gösterme ve bunları ortak değerleri temel alarak katılmak istediğiniz zaman, tam bir dış birleştirme kullanın. Tam dış birleştirmeler Access açıkça desteklemez, ancak bir birleşim sorgusu kullanarak aynı etkiyi elde edebilirsiniz. Aşağıdaki yordam, bunu, ancak birleşim sorguları hakkında daha fazla bilgi isterseniz Ayrıca bkz bölümüne bakın açıklar.

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

  1. Tam dış birleştirme için kullanmak istediğiniz alanda sol dış birleştirmesi olan 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ülü silin ve ENTER tuşuna basın.

  5. UNIONyazın ve ENTER tuşuna basın.

    Not : Tam dış birleştirme gerçekleştirmek üzere bir birleştirme sorgusu kullandığınızda 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'i RIGHT JOIN olarak değiştirin.

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

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

    Örneğin, FROM yan tümcesi aşağıdaki gibi ise:

    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 üzere WHERE yan tümcesinin sonuna bir noktalı virgül (;) girin.

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

Çapraz birleştirmeler

Açıkça Accessiçinde gösterilmez çapraz birleştirmeler iç ve dış birleştirmeler farklı olan. Çapraz birleştirme içinde bir tablodaki her satır ne çapraz ürün veya Kartezyen çarpımını olarak adlandırılır sonucu olan başka bir tablodaki her satır ile birleştirilir. Açıkça alanına bağlı değilseniz, tabloları olan bir sorguyu çalıştırmak istediğiniz zaman bir çapraz ürün sonuç olur. Genellikle amaçlanmayan çapraz birleştirmeler, ancak burada bunlar kullanışlı olabilir durumlar da vardır.

Neden çapraz birleştirme kullanırım?

İki tablo veya sorgu arasında satırların olası tüm bileşimlerini incelemek isterseniz, çapraz sorgu kullanın. Örneğin, işletmenizin olağanüstü bir yıl geçirdiğini ve müşterilerinize indirim yapmayı düşündüğünüzü varsayalım. Her müşterinin alımlarını toplayan bir sorgu oluşturabilir, olası birkaç indirim yüzdesi içeren küçük bir tablo oluşturabilir ve bu ikisini çapraz birleştirme yapan başka bir sorguda birleştirebilirsiniz. Sonuçta her müşteri için birtakım kuramsal indirimler görüntüleyen bir sorgunuz olur.

Nasıl çapraz birleştirme kullanırım?

Sorgunuza her ne zaman tablo veya sorgular ekler ve her tablo veya sorgu için en az bir açık birleştirme oluşturmazsanız, bir çapraz sorgu üretilir. Access, başka herhangi bir tablo veya sorguyla açık olarak birleştirilmemiş her tablo veya sorgudan her satırı sonuçlarda diğer satırların her biriyle birleştirir. Önceki paragraftaki indirim senaryosunu düşünelim. 91 müşteriniz olduğunu ve olası beş indirim yüzdesini görmek istediğinizi varsayalım. Çapraz sorgunuz 455 satır üretir (91 çarpı 5).

Tahmin edebileceğiniz gibi, istemsiz oluşturulan çapraz birleştirmeler sorgu sonuçlarında büyük miktarda satırlara neden olabilir. Dahası, bu sonuçlar genellikle anlamsızdır; çünkü gerçekte her satırı diğer satırlarla birleştirmeyi amaçlamıyorsanız, sonuçlarda görüntülenen birleştirilmiş satırların çoğu anlamsız olacaktır. Son olarak, amaçlanmayan çapraz birleştirmeler kullanan sorguların çalışma süresi çok uzun olabilir.

Sorgu Tasarım görünümünde amaçlanmayan çapraz birleştirme
Bir amaçlanmayan çapraz sorgu Tasarım görünümünde katılın.

1. Daire içindeki alanların birbiriyle birleştirilmesi gerekir.

Amaçlanmayan çapraz ürün
Yukarıda çizilen amaçlanmayan çapraz birleştirme tarafından döndürülen çapraz ürün.

1. Çok fazla kayıt olduğuna dikkat edin.

Düzeltilen sorgu sonucu
Doğru Katıl oluşturulduktan sonra sonuçları.

1. Çok daha az sayıda kayıt olduğuna dikkat edin.

Sayfanın Başı

Tabloları alan değerlerinin eşit olmayışına göre birleştirme

Birleştirmeler, birleştirilen alanların eşdeğerliğine dayalı olmak zorunda değildir. Bir birleştirme, büyüktür (>), küçüktür (<) veya eşit değildir (<>) gibi herhangi bir karşılaştırma işlecine dayalı olabilir. Eşdeğerliğe dayalı olmayan birleştirmelere eşit olmayan birleştirmeler denir.

İki veri kaynağının satırlarını, eşit olmayan alan değerleri temelinde birleştirmek isterseniz, eşit olmayan birleştirme kullanırsınız. Tipik olarak, eşit olmayan birleştirmeler; büyüktür (>), küçüktür (<), büyük veya eşittir (>=) ya da küçük veya eşittir (<=) karşılaştırma işleçlerinden birine göre dayalıdır. Eşit değildir (<>) işlecine dayalı olan eşit olmayan birleştirmeler, neredeyse çapraz birleştirmeler kadar çok satır döndürebilir ve sonuçlarının yorumlanması güç olabilir.

Nasıl eşit olmayan birleştirme kullanırım?

Eşit olmayan birleştirmeler, Tasarım görünümünde desteklenmez. Bunları kullanmak isterseniz, bunu SQL görünümünde yapmanız gerekir. Bununla birlikte, Tasarım görünümünde bir birleştirme oluşturabilir, SQL görünümüne geçebilir, eşittir (=) karşılaştırma işlecini bulabilir ve kullanmak istediğiniz işlece dönüştürebilirsiniz. Bunu yaptıktan sonra, sorguyu yeniden Tasarım görünümünde açabilmeniz için, önce karşılaştırma işlecini SQL görünümünde yeniden eşittir (=) olarak değiştirmeniz gerekir.

Birleştirmeyi silme

Access, istemediğiniz bir birleştirmeyi otomatik olarak oluşturursa veya siz yanlışlıkla bir birleştirme oluşturursanız (örneğin, veri türleri farklı iki alan arasında birleştirme), bu birleştirmeyi silebilirsiniz.

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

  2. SİL tuşuna basın.

-veya-

  • Sorgu tasarım kılavuzunda, kaldırmak istediğiniz birleştirmeyi sağ tıklatın ve Sil seçeneğini tıklatın.

Sayfanın Başı

Not : Makine Çevirisi Yasal Uyarısı: Bu makale, insan müdahalesi olmadan bir bilgisayar sistemi tarafından çevrilmiştir. Microsoft bu makine çevirilerini İngilizce bilmeyen kullanıcıların Microsoft ürünleri, hizmetleri ve teknolojileriyle ilgili içeriklerden yararlanmasına yardımcı olmak için sunar. Bu makale makine çevirisi olduğundan sözcük, cümle dizilimi ve gramer hataları içerebilir.

Ayrıca Bkz:

Ekleme sorgusu kullanarak bir tabloya kayıt ekleme

Birleştir birleşim sorgusu kullanarak çeşitli sonuçlarını sorguları seçin

Birden çok tablolara bir sorgu oluşturun

Oluşturma, düzenleme veya tablo ilişkisini silme

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?

Görüşleriniz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×