"Vatanını en çok seven, görevini en iyi yapandır."


Hoş Geldin, Ziyaretçi!

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

  • Yeni üyeler Neler Yapmalı, Nasıl Başlamalı? Detaylar için tıklayın
    Rütbeler ve genel görevlendirme konuları hakkında bilgi almak için tıklayın
    Uzmanlık alanları hakkında bildirge için tıklayın
    Güncel forum kuralları için tıklayın

SQL Server Veritabanı -8 : Joinler (çoklu Tablolarda Işlemler)

Codbar

Yarbay
Katılım
8 Şub 2017
Mesajlar
1,340
Uzmanlık Alanları:
Veritabanı Sistemleri
Yapay Zeka
Yazılım / Kodlama
Görev/Org:
lojistik
Selamu aleykum arkadaşlar, bugün ki konumuza geçmeden önce birkaç şey belirtmek isterim; malum üniversite hayatı sınavları yaklaştı, uğraşmam gerekecek bayağı dersim var ve bununla birlikte veritabanı derslerime belli bir süreliğine ara vereceğim.( Tabi konulara eklemeler de bulunacağım :) Konularla ilgilenen arkadaşlar , herhangi bir anlamadığınız yeri konu altından yada bana özel mesajla ulaşabilirler... ;) )

İlk öncelikle konuyu geçmeden şu
konulara bakmanız hem yararınıza hem de hatırlanması iyi olur... :)
Bundan önceki tüm sorguların içerisinde yalnızca bir tablo kullanmıştık.Bugün ise birden çok tablolarda göreceğimiz ilişkileri "JOİN" kelimesinin türevleri ile nasıl sorgulayacağımız...

  • ANSI Standartlarına göre "Dil bağımlığı yoktur".
  • Ortak ve Türdeş olacak ve primekeyler ile ilişki kurulabilir.

  • inner join: //Her iki tablodan da sadece ilişkiye uyan kayıtları getirir.
upload_2017-12-10_4-29-8.png
  • Lef(outer) join //Soldaki tablodan tüm kayıtları sağdan sadece ilişkiye uyan kayıtları getirir.
upload_2017-12-10_4-41-40.png
  • right(outer)join //Sağdaki tablodan tüm kayıtları soldan sadece ilişkiye uyan kayıtları getirir.
upload_2017-12-10_4-39-10.png
  • full (outer) join //Her iki tablodan tüm kayıtları getir.
upload_2017-12-10_4-46-22.png
  • cross join //Çarpaz bağlama (anlamsızdır.)

**Biz hep iki tabloyu örnek verdik, peki ikiden fazla tablo için ne yapabiliriz ?

upload_2017-12-10_4-57-23.png
+ Birbiriyle hep ilişki kurulması gerekir. Yani A ile B i inner ile , B ile C i diğer komutlarla sorgulama yapabiliriz .(Örneklerde inşallah daha anlaşılır olur...:) )

Evet arkadaşlar artık bilgilerden sonra örneklerimize geçebiliriz :D

İlk öncelikle ilişkisel şekilde 3 tablo açıyoruz ve dolduruyoruz :Müşteri,araç ve Satış ...
Müşteri tablosu:
upload_2017-12-10_5-36-13.png

araç tablosu:
upload_2017-12-10_5-17-29.png

Satış tablosu:
upload_2017-12-10_5-11-36.png



**Şunu belirtmek isterim ki konu başında da belirttiğim gibi tablolarda ilişkisel bağlantı kurmak istiyorsak primary key kullanmaliyiz. Verdiğim 3 tabloda sırasıyla Mno, araçno ve Satışno ' yu primarlayin. Bunlar bizim için sorgulamalarda kolaylık sağlayacak ;)

upload_2017-12-10_5-28-35.png

upload_2017-12-10_5-40-59.png

upload_2017-12-10_6-14-52.png

//Evet arkadaşlar şimde de çoklu tablolarda nasıl işlem sorgusu yapacağimiza ve nerden sorgu yapacağımıza gelelim...​
upload_2017-12-10_20-26-25.png


+ Evet şimdi burda iki şekilde sorgulama yapabiliriz; Birinci tabloları ilişkilendirerek (yane fareyle tıklama :D ) ,İkincisi eskisi gibi kodlarla...
Ancak biz bildiğimiz yoldan kodlarlar devam edeceğiz...


upload_2017-12-10_20-33-7.png


upload_2017-12-10_20-38-29.png

*Biz hepsini seçtikten sonra bu ekran arkada belirecek :)

upload_2017-12-10_20-47-35.png
Evet örnek verirsek araç tablosundan fiyat kısmı ile , Satış tablosundan Sfiyat ile ilişkilendirirsek (yani fareyle sürüklersek )

ilk hali;
upload_2017-12-10_20-52-34.png

Son hali;

upload_2017-12-10_20-54-42.png

upload_2017-12-10_20-55-18.png

olur...

ÖRNEK_39:

Satış yapılmış olan araçların model, marka ve satış tarihlerini, satış tarihine göre sıralı görüntüleyen SQL i yazınız.
Kod:
Please, Giriş yap or Kayıt ol to view codes content!
ÖRNEK_40:

Satış yapılmış müşterilerin isimlerini görüntüleyen SQLi yazanız.
Kod:
Please, Giriş yap or Kayıt ol to view codes content!
upload_2017-12-10_22-25-2.png
ÖRNEK_41:

Satışı yapılmış araçlardan marka bazında toplam ne kadar kar edildiğini bulan SQLi yazınız
Kod:
Please, Giriş yap or Kayıt ol to view codes content!
upload_2017-12-10_22-36-53.png

ÖRNEK_42:

17000'den yükseğe satılan araçların hangi müşterilere satıldığını bulan SQL i yazınız.
Kod:
Please, Giriş yap or Kayıt ol to view codes content!

upload_2017-12-10_22-53-35.png

ÖRENEK_43:

Henüz satış yapılmamış araçların marka , model ve galeri giriş fiyatlarını görünteleyen SQL i yazınız
Kod:
Please, Giriş yap or Kayıt ol to view codes content!
upload_2017-12-10_22-59-53.png

ÖRNEK_44:

Satış yapılan araçların marka, satış fiyatı ve hangi müşteriye satış yapıldığını gösteren SQLi yazınız.
Kod:
Please, Giriş yap or Kayıt ol to view codes content!
upload_2017-12-10_23-11-11.png


Not_1: Evet konumuzu burda bitirdik arkadaşlar.Bilgi olarak Queri sorgulamalarında birden fazla sorgulama ard arda yapabiliriz :) ve Bununla birlikte kayıt edebiliriz...(ekte bu konunu dosyasını paylaştım ilgilenenler indirebilir ;) )

upload_2017-12-10_23-16-45.png



Ne güzel demiş;
"Bilgiye sahip olarak doğmuş birisi değilim. Öğretmeyi seviyorum ve öğrenmeye çalışıyorum."

Konfüçyüs



LOJİSTİK GRUP SUNAR...
Teşekkürler, Sağlıcakla Kalın... :);)// @codbar

 

Ekli dosyalar

Son düzenleme:

Codbar

Yarbay
Katılım
8 Şub 2017
Mesajlar
1,340
Uzmanlık Alanları:
Veritabanı Sistemleri
Yapay Zeka
Yazılım / Kodlama
Görev/Org:
lojistik

S4tyric0n

KURUCU
Katılım
30 Kas 2016
Mesajlar
2,506
Görev/Org:
ust_yonetim
eline emeğine sağlık.
bu dersler devam ediyor mu hâlen?
 
Üst