Sql Kodları ANA SAYFA    İLETİŞİM    HAKKIMIZDA 

SQL INNER JOIN Kullanımı

İki adet tablomuzdaki kayıtları belli bir kritere göre birleştirmek için INNER JOIN komutu kullanılır. Acces veritabanı programında kullanılan tablo arası ilişkileri gibidir.

INNER JOIN Kullanım Biçimi

SELECT alan_ad(lari)
FROM tablo1 INNER JOIN tablo2
ON tablo1.alan_adi=tablo2.alan_adi

veya
SELECT alan_ad(lari)
FROM tablo1 JOIN tablo2
ON tablo1.alan_adi=tablo2.alan_adi

NOT: INNER JOIN yerine sadece JOIN kullanılabilir.
Burada görüleceği üzere From ifadesi ile birinci tablomuzu ve ardından JOIN (veya INNER JOIN) ile ikinci tablomuu belirtmiş oluyoruz. ON ile hangi alanların eşitleneceği gösterilmektedir. Birinci tabloda olan bir kayıt ikinci tabloda olmayabilir veya ikinci tabloda olan ir kayıt biirnci tabloda olmayabilir. Bu durumda sadece belirtilen alanlarda eşit olan kayıtlar seçilir. Mesele id_no alanına göre eşitleme yapılırsa birinci tabloda id_no alanında 1,2,3 kayıtları ve ikinci tabloda id_no alanında 1,2,3,4,5 kayıtları varsa; bu kayıtlardan sadece 1,2,3 olanlar işleme alınır. Her iki tabloda bulunan ortak kayıtlar seçilir. Yani kesişim kümesi baz alınır.




Örnek Tablo Uygulaması:

Örnek olarak aşağıdaki gibi Müşteriler isimli tablomuz olsun.

id Adi_soyadi
1 Salih ESKİOĞLU
2 Ayhan ÇETİNKAYA
3 Serkan ÖZGÜREL
4 İlhan ÖZLÜ

İkinci tablomuz olan Satışlar ise aşağıdaki gibi olsun.

id Satilan_mal Satis_fiyati
1 Buzdolabi 1200
1 LCD TV 1800
2 LCD TV 1750
1 Çamaşır Makinesi 950


Örnek1:

SELECT *
FROM Mutseriler JOIN Satislar
ON Musteriler.id=Satislar.id

Bu kodda iki tablodaki id alanları eşitlenmiş. id alanında ortak olan kayıtlar seçilecek ve diğer kayıtlar dikkate alınmayacaktır. 3 ve 4 nolu id lere sahip müşteriler çıktı kayıtlarında olmayacaktır. Çünkü Satışlar tablosunda bunlarla iligli bir kayıt bulunmamaktadır.

Çıktısı:

id Adi_soyadi Satilan_mal Satis_fiyati
1 Salih ESKİOĞLU Buzdolabı 1200
1 Salih ESKİOĞLU LCD TV 1800
2 Ayhan ÇETİNKAYA LCD TV 1750
1 Salih ESKİOĞLU Çamaşır Makinesi 950

Örnek2:

SELECT Adi_soyadi, Satilan_mal
FROM Musteriler JOIN Satislar
ON Musteriler.id=Satislar.id

Bu kod ile sadece adı soyadı ve satılan mal alanları seçilmiş. Gene aynı şekilde id alanalr eşit olan kayıtlar işleme alınmış. Çıktıya dikkat edilirse id alanı çıktı alanları arasında yoktur. Çünkü select ile ilgili alan belirtilmemiştir.

Çıktısı:

Adi_soyadi Satilan_mal
Salih ESKİOĞLU Buzdolabı
Salih ESKİOĞLU LCD TV
Ayhan ÇETİNKAYA LCD TV
Salih ESKİOĞLU Çamaşır Makinesi

Örnek3:

SELECT Adi_soyadi, Satilan_mal, musteriler.id AS id_no
FROM Musteriler JOIN Satislar
ON Musteriler.id=Satislar.id
ORDER BY id_no ASC

Bu kodda Select ifadesinden sonra musteri tablosundaki id alanı AS ifadesi ile özel tanım olarak belirtilmiştir. Yani SQL kodu içerisinde müşteri tablosunun id alanı kısaca id_no olarak kullanılacaktır. AS için detaylı kullanım bilgisine buradan ulaşabilirsiniz. ORDER BY ile seçilen kayıtlar id numarasına küçükten büyüğe sıralanmıştır.

Çıktısı:

id_no Adi_soyadi Sehir
1 Salih ESKİOĞLU Buzdolabı
1 Salih ESKİOĞLU LCD TV
1 Salih ESKİOĞLU Çamaşır Makinesi
2 Ayhan ÇETİNKAYA LCD TV

 


www.sqlkodlari.com - 2014
Telif hakları uyarısı: Sitedeki bilgiler izinsiz KOPYALANABİLİR. Çünkü bu bilgiler bilgisayar standartlarındandır ve bizim bulup ürettiğimiz şeyler değildir. Başka sitelerde de burada anlatılan açıklamalara rastlayabilirsiniz. Ancak ricamız buradan faydalı bir şeyler öğreniyorsanız, o zaman siteyi tavsiye edin ki başkaları da öğrensin.

sql inner join kullanımı nasıldır