Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
Veri tabanında join nedir?

Açık 1 Cevaplar 253 Gösterim Veri Tabanı
Selamlar,

Veri tabanında sorgudaki join nedir?

1 cevap

2

Join kelimesini ele alalım ilk olarak. Katılmak , birleştirmek, eklemek , bağlamak anlamlarını taşır.

SQL join komutlarını kullanarak  iki tabloda ortak alanlardan faydalanarak bu iki tabloyu eşlemeye yarar. Örneğin;

Bir spor klübüne ait bir veri tabanı olsun. Bu veritabanında üyelere ve bu üyelerin adreslerin tutulduğu ikinci bir tablo olsun. Bu tablolarda tutulan alanlar için de örnek vererek açıklayalım;

tablo-1: üyeler olsun ve column( sütun) isimleri de;  üye id, ad, soyad, doğum tarihi, üyelik tarihi ...vs

"üyeler" tablosu

üye_idadsoy_adidogum_tarihiüyelik_tarihi
1tolga çelik25.10.200001.01.2016..
2ahmet genç01.05.199921.09.2016..
3ayşe fidan12.05.198815.08.2016..

tablo-2: adresler olsun, sütunları ise;   adres id, ülke, şehir, ilçe, semt, sokak, posta kodu.

"adres" Tablosu

seqüye_idşehirilçesokak

posta_kodu

11İstanbulŞişlibahar sokak34011
21AnkaraKeçiörenÇetiner sokak06001
32IstanbulBeylikdüzütesttest
43IstanbulKadıköytest
53AnkaraKızılaytesttest

Bu iki tablonun ortak noktaları olan "üye_id" sütun değerini kullanarak üye tablosundaki bir üyenin, adresinin hangisi veya hangileri olduğunu JOIN leyere bulabiliriz. Bu arada sütunlardaki isimleri değişebilir . üye_id olmaz da, kisi_id olur vs.) ama iki tablodada ortak olan sütunun hangisi olduğunu biliyorsak, o sütun üzerinden iki tabloyu eşleyerek veriyi çekebiliriz.

Teknik olarak biraz detaylı örnek verecek olursam;

SQL join , INNER JOIN de denmektedir.Farklı türleri vardı ama şuan girmiyorum. üyeler ve adresler üzerindeki "üye_id" alanlarını birbirine eşit olduğu noktadan bağlayalım;

SELECT * FROM üyeler INNER JOIN  adresler  ON üyeler.üye_id = adresler.üye_id;

** JOIN yapmak için farklı olarak "WHERE" de kullanıldığı görülmektedir.

SELECT * FROM üyeler , adresler WHERE üyeler.üye_id = adresler.üye_id;

(2.0k puan)
düzenledi