MsSql Join Yapısı Ders 12 Devam..
Merhaba,
Yine uzun bir ara oldu. Geç olsun güç olmasın. Kaldığımız yerden devam edelim istedim.
Hemen Ms Sql Management Studio ve ardından yenii bir Query page açalım.
Database adıız ISTANBUL idi.
Use ISTANBUL
diyerek hangi db üzerinde çalışacağımızı belirleyelim.
Ardından da hızlıca ders adlarımızı eklemeye başlayalım. Şimdilik 4 adet ders adı ekliyorum.
INSERT INTO DERS (DERSADI) VALUES ('TÜRKÇE')
GO
INSERT INTO DERS (DERSADI) VALUES ('FİZİK')
GO
INSERT INTO DERS (DERSADI) VALUES ('KİMYA')
GO
INSERT INTO DERS (DERSADI) VALUES ('BİYOLOJİ')
GO
INSERT INTO DERS (DERSADI) VALUES ('MATEMATIK')
f5 tuşumuza basıyoruz ve derslerimizi ekliyoruz. Şimdide bir kaç ders notu ve öğrenci numarası ekleyelim.
USE ISTANBUL
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (1,95,1)
GO
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (2,40,1)
GO
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (3,78,1)
GO
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (4,65,1)
GO
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (1,90,2)
GO
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (2,80,2)
GO
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (3,60,2)
GO
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (4,70,2)
GO
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (5,100,2)
GO
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (1,80,3)
GO
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (2,40,3)
GO
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (3,30,3)
GO
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (4,70,3)
GO
INSERT INTO DERSNOTLARI (ID_DERS,DERSNOTU,ID_OGRENCI) VALUES (5,60,3)
Evet öğrenciler ile ders notlarını da eklediğimize göre artık sorgulama işlemine geçebiliriz.
İlk olarak öğrencilerimizin matematik dersine ait notlarını getirelim.
SELECT DE.DERSADI,(O.OGRENCIADI+' '+ O.OGRENCISOYADI) AS ADISOYADI,D.DERSNOTU FROM (DERSNOTLARI D INNER JOIN OGRENCI1 O ON D.ID_OGRENCI = O.ID_OGRENCI) INNER JOIN DERS DE ON DE.ID_DERS = D.ID_DERS WHERE DERSADI = 'MATEMATIK'
Bu sorguyu çalıştırdığımızda öğrencilerimizin matematik dersine ait notlarını görüntülemiş olacağız. Şimdi cümlemizi analiz edelim.
Select * from DERSNOTLARI bu cümle ile dersnotları tablosundaki tüm dataları çekebilmekteyiz. Ancak biz bu tablodan tüm dataları çekmek değil, bu tablodaki dataları kullanarak başka tablolarla ilişki kurmak istiyoruz.
Bu noktada devreye JOIN yapısı girmektedir. Join bir önceki dersimizde de bahsettiğimiz üzere iki tablo arasında uniqe olan değerler üzerinden ilişki kurmamıza yarayan ifadeye verilen addır.
Kullanım şekli :
SELECT (O.OGRENCIADI+' '+ O.OGRENCISOYADI) AS ADISOYADI,D.DERSNOTU FROM DERSNOTLARI D INNER JOIN OGRENCI1 O ON D.ID_OGRENCI = O.ID_OGRENCI
DERSNOTLARI D INNER JOIN OGRENCI1 O ON D.ID_OGRENCI = O.ID_OGRENCI
Bu yazıyı paylaş: