Sql Serverda iki tablo birleştirme Left Join ve 3 Tablo birleştirme Left Join Örneğini yapacağız.
Ms SQL Server
Üç Aadet tablo kullancağız.
1. Tablo adı: ILGILILER
2 . Tablo adı: FIRMALAR
3. Tablo Adı: GOREVLER
ilk önce iki tablo ile Left join yapıp sonra 3 tabo ile left join yapacağız.
2 tablo ve 3 tablo şeklinde söyleme nedenimiz, ILGILILER isminde bir tablomuz var ve içerisinde
ilgili adı soyadı şehri telefonu gibi bilgiler var. ancak firması yok. firması FIRMALAR tablosunda
bizde Tek sorguda raporda ilgiliyi gösterirken firmasınıda göstereceğiz olay bu. sonrada görevler tablosundan görevinide göstereceğiz. üçüncü bir tabloya dallanacağız.
ikili tablo örneği.
Talep: ilgililer listesini sql sorgusu ile görmek istiyoruz.
sorgumuz.
SELECT * FROM ILGILILER
dir
ve listelenir.
ekran görüntüsünde olduğu gibi burada dikkat edilmesi gereken FIRMAID stünudur. çünkü bu başka bir tabloya yani FIRMALAR tablosuna referanstır. yani bu kayıt sql tabloları içerisinde değişmeden gezer ve istediğimiz yerden çağırabileceğimiz anlamına gelir. bir nevi. Firma isimlerinin değişmeyen adı Referansı gibi düşünebiliriz.
şimdi bu listede Karani UYAR'ın hangi firmada olduğunu görmek/Listelemek/ yazılımda göstermek için Left join sorgusu oluşturacağız.
SELECT * FROM ILGILILER
LEFT JOIN FIRMALAR ON FIRMALAR.ID = ILGILILER.FIRMAID
ekran alıntısında olduğu gibi Firma Adı geldi aynı tabloda birleşti
Burada Oturması için adım adım açıklama olarak.
1. Left Joinle ile FIRMALAR (fi) Tablosuna git
2.ON ile içine gir
3.fi.ID (FIRMALAR tablosundaki ID stününü oku)
4.okuduğun sütünu başka tabloda (ILGILILER) eşitlemek için keşte tut
5.ilgililer tablosuna git
6.ilgilier tablosundak FIRMAID stünunu oku
7.4. Adımdaki tutulan rakamlarla eşitle, referans olduğu için zaten eşit ti
8. Listele
buradaki kısaltmaları birazdan sorgu uzadığında kullanacağız.
Göründüğü gibi listede ihtiyacımız olmayacak bilgiler de geliyor onlarıda istersek göstermeyebiliz. ihtiyacımız olanları listelemek bizim elimizde
şimdi yukarıdaki sorguyu düzenliyorum. ve sorguda kısaltmalar kullanacağım.
SELECT * FROM ILGILILER il
LEFT JOIN FIRMALAR fi ON fi.ID = il.FIRMAID
bu kısaltmalı sorgu halidir ve yukarıdaki le aynı sonucu döner.
şimdide ihtiyaç olanları çağıracağım sadece.
SELECT * Demiştik ya. buradaki (*) ILGILILER Tablosundaki herşeyi listelemekte.
yıldızı kaldırıp yerine istediğimiz field sütun adlarını getireceğiz.
SELECT il.ADISOYADI, il.MAIL, il.TELEFON, fi.FIRMAADI FROM ILGILILER il
LEFT JOIN FIRMALAR fi ON fi.ID = il.FIRMAID
-----------------------------------------
3. tabloda da Görevler demiştik GOREVLER tablosundan da ilgili kişinin Görevini listeleyebiliriz.
Bunun için Bir Left Join daha ekliyoruz.
SELECT fi.FIRMAADI,
gr.NAME GÖREVİ, il.ADISOYADI,
il.TELEFON, il.MAIL, il.ADRES
FROM ILGILILER il
LEFT JOIN FIRMALAR fi ON fi.ID = il.FIRMAID
LEFT JOIN GOREVLER gr ON gr.ID = il.GOREVID
Görevi de aynı sorgu sonucunda Listelenmiş oldu.
Yazılım Eğitimi, Sql Server, C, C++, C#, Pyhton, Mobile, Web & IT üzerine yazılar.
Kaydol:
Kayıt Yorumları (Atom)
Mac adres formatı excel
excel iki nokta mac addres formatı Mac adresi karakterlerini üst üste iki nokta : iki nokta üst üste olacak şekilde excel dosyasında ayırır....
-
using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Text; namespace FirmaOtomasyonu...
-
hp Notebook Product Information Not Valid error hatası açılışta çıkan uyarı, System Board (00A) Error Displays on a Black Screen çözümü, f...
-
Hosw To Cisco Switches, configuration backup TFTP server, Backup and restore BackboneName-1# copy running-config tftp : Address or name of r...
Hiç yorum yok:
Yorum Gönder