SQL Nasıl Kullanılır? , SQL de veri nasıl çağırılır? - Resimli Anlatım

Paylaş:
Programcı bir çok arkadaşın kullandığı S Q L veri tabanı programı için en basit kodlardan oluşan bu temel yazımız sizin için. Bu SQL Yazımızda Excell'den veriyi çektikten sonra adım adım nasıl çağrıldığı ve çağırır iken hangi kodun hangi işe yaradığını resimli olarak anlatıyoruz. İyi okumalar


1.        UYGULAMA

Uygulama örnekleri için kullanılacak tablolar aşağıdadır.
Çizelge 2. 1. Öğrenci tablosu


Ogrenci_No
Adi
Soyadi
Bolumu
Kayit_Tarihi
Yas
Ortalama
1
Gül
Öztürk
İST
23.09.2011
19
87
2
Uğur
Kartal
SNÖ
22.10.2009
25
74
3
Berk
Aydın
İST
26.11.2009
27
71
4
Bilge
Hızlı
TRÖ
09.01.2011
23
92
5
Emre
Yücel
BMH
02.10.2008
20
44
6
Gül
Seçer
BİY
16.05.2008
20
48
7
İsmail
Öztürk
SNÖ
03.03.2010
22
58
8
Emre
Aydın
BMH
12.10.2011
24
62
9
Kemal
Erdal
FEL
02.11.2008
19
59
10
Ayşe
Ege
SNÖ
02.11.2008
18
87
11
Ali
Temiz
MAT
08.11.2008
20
71
12
İsmail
Altınok
KİM
27.05.2009
18
94
13
Derya
Ege
BMH
08.07.2008
26
69
14
Elif
Karadeniz
KİM
21.03.2008
21
66
15
Selçuk
Ay
İST
24.07.2011
20
45
Çizelge 2. 2. Bölüm tablosu


Bolum_Kodu
Bolum_adi
Telefon
FIZ
Fizik
312 557 46 29
KİM
Kimya
312 482 51 78
BİY
Biyoloji
312 345 16 91
KMY
Kamu Yönetimi
312 619 97 72
İST
İstatistik
312 397 82 23
FEL
Felsefe
312 239 37 81
MAT
Matematik
312 682 16 16
TRÖ
Türkçe Öğretmenliği
312 492 36 33
SNÖ
Sınıf Öğretmenliği
312 219 74 55
BMH
Bilgisayar Mühendisliği
312 747 44 33
Çizelge 2. 3. Ders tablosu


Ders_Kodu
Ders_Adi
Kredisi
TÜD01
Türk Dili I
2
YAD01
Yabancı Dil I
5
ATA01
Atatürk İlke ve İnkılâpları Tarihi
6
MUH01
Muhasebe   
3
SOS01
Sosyoloji
4
TBT01
Temel Bilgi Teknolojileri
6
TÜD02
Türk Dili II
5
YAD02
Yabancı Dil II
4
PİS01
Pisikoloji
6
MAT01
Matematik 1
3
MAT02
Matematik 2
2
KİM01
Kimya
6
FİZ01
Fizik
4
AYH01
Anayasa Hukuku
5
HKG01
Hukuka Giriş
5
Çizelge 2. 4. Öğrenci_Ders tablosu

Ogrenci_No
Ders_Kodu
Kac_Kez_Aldı
Vize_Notu
Final_Notu
Sonuc
6
HKG01
1
50
45
Kaldı
4
KİM01
1
92
30
Kaldı
14
MAT01
1
92
81
Geçti
5
PİS01
1
86
33
Kaldı
12
TÜD02
1
64
26
Kaldı
1
FİZ01
1
99
22
Kaldı
10
HKG01
1
30
51
Kaldı
8
AYH01
1
34
87
Geçti
10
MUH01
1
24
93
Geçti
8
MAT02
1
26
22
Kaldı
15
MUH01
1
92
56
Geçti
3
SOS01
1
81
89
Geçti
4
TBT01
1
90
89
Geçti
7
PİS01
1
36
96
Geçti
4
TÜD01
1
46
69
Kaldı
6
MAT01
1
80
77
Geçti
3
TÜD01
1
40
36
Kaldı
15
ATA01
1
73
93
Geçti
5
MUH01
1
82
81
Geçti
6
ATA01
1
66
30
Kaldı
5
FİZ01
1
74
58
Geçti
9
MUH01
1
22
41
Kaldı
15
TÜD01
1
89
27
Kaldı
11
SOS01
1
93
25
Kaldı
9
YAD02
1
91
56
Geçti
13
FİZ01
1
26
67
Kaldı
8
KİM01
1
55
99
Geçti
3
MAT02
1
76
79
Geçti
8
HKG01
1
89
34
Kaldı
10
SOS01
1
90
79
Geçti

1.1.       SELECT KOMUTU

Aşağıda Select komutunun kullanımı ile ilgili örnek Şekil 2.1’de gözükmektedir.

Bu örnekte Bölüm tablosunun içindeki verilerin gösterilmesi için Select komutu kullanılmıştır. * kullanılmasının nedeni tablonun içindeki tüm sütunların görüntülemek istenmesidir.


Şekil 2. 1. Select komutunun kullanımı ile ilgili örnek

1.2.       DISTINCT KOMUTU

Aşağıda Distinct komutunun kullanımı ile ilgili örnek Şekil 2.2’de gözükmektedir.

Bilindiği üzere Distinct komutu farklı olan değerleri göstermek için kullanılır. Bu örnekte Öğrenci Ders tablosunun içindeki Sonuç sütunundaki farklı değerleri göstermek için kullanılmıştır. Örnekte görüldüğü üzere sonuç sütunu iki farklı değerden oluşmaktadır. Bu değerler “Geçti” ve “Kaldı” değerleridir.



Şekil 2. 2. Distinct komutunun kullanımı ile ilgili örnek

1.3.       JOINS

2.3.1.  INNER JOIN

Aşağıda INNER JOIN komutunun kullanımı ile ilgili örnek Şekil 2.3’de gözükmektedir.
Örnekte; Öğrenci Ders tablosundan Vize notu, Ders tablosundan ise Ders Adı çekilmek istenmiştir. Ayrıca veri çekme işlemi için Öğrenci Ders Tablosundaki Ders Kodu sütunu ile Ders Tablosundaki Ders Kodu sütunlarının eşitliğinden yararlanılmıştır. Bu işlemin amacı, veriler arasında ilişkilendirme yaparak verilerin doğru bir şekilde çekilmesini sağlamaktır.


Şekil 2. 3. INNER JOIN komutunun kullanımı ile ilgili örnek

2.3.2.  OUTER JOIN

Aşağıda OUTER JOIN komutunun kullanımı ile ilgili örnek Şekil 2.4’de gözükmektedir.
Örnekte; Öğrenci Ders tablosundan Vize notu, Ders tablosundan ise Ders Adı çekilmek istenmiştir. Ayrıca veri çekme işlemi için Öğrenci Ders Tablosundaki Ders Kodu sütunu ile Ders Tablosundaki Ders Kodu sütunlarının eşitliğinden yararlanılmıştır. Bu işlemin amacı, veriler arasında ilişkilendirme yaparak verilerin doğru bir şekilde çekilmesini sağlamaktır. Outer Join’in özelliğinden dolayı bazı satırlarda “NULL” değeri dönmüştür.



Şekil 2. 4. OUTER JOIN komutunun kullanımı ile ilgili örnek

2.3.3.  LEFT JOIN

Aşağıda LEFT JOIN komutunun kullanımı ile ilgili Şekil 2.5’de gözükmektedir.

Örnekte; Öğrenci Ders tablosundan Vize notu, Ders tablosundan ise Ders Adı çekilmek istenmiştir. Ayrıca veri çekme işlemi için Öğrenci Ders Tablosundaki Ders Kodu sütunu ile Ders Tablosundaki Ders Kodu sütunlarının eşitliğinden yararlanılmıştır. Bu işlemin amacı, veriler arasında ilişkilendirme yaparak verilerin doğru bir şekilde çekilmesini sağlamaktır. LEFT JOIN’de sol taraftaki kısım önemlidir. Sağ tarafta herhangi bir eşleşme olmasa bile sol tarafı tamamen döndürür.


Şekil 2. 5. LEFT JOIN komutunun kullanımı ile ilgili örnek

2.3.3.  RIGHT JOIN

Aşağıda RIGHT JOIN komutunun kullanımı ile ilgili örnek Şekil 2.6’da gözükmektedir.

Örnekte; Öğrenci Ders tablosundan Vize notu, Ders tablosundan ise Ders Adı çekilmek istenmiştir. Ayrıca veri çekme işlemi için Öğrenci Ders Tablosundaki Ders Kodu sütunu ile Ders Tablosundaki Ders Kodu sütunlarının eşitliğinden yararlanılmıştır. Bu işlemin amacı, veriler arasında ilişkilendirme yaparak verilerin doğru bir şekilde çekilmesini sağlamaktır. RIGHT JOIN’de sağ taraftaki kısım önemlidir. Sol tarafta herhangi bir eşleşme olmasa bile sağ tarafı tamamen döndürür. Örnekte de gözüktüğü üzere bazı yerler “Null” değerini almıştır.



Şekil 2. 6. RIGHT JOIN komutunun kullanımı ile ilgili örnek

1.4.       ORDER BY

Aşağıda ORDER BY komutunun kullanımı ile ilgili örnek Şekil 2.7’de gözükmektedir.

Bu örnekte Ders tablosundaki Ders Kodu sütunu Ders Kodu’na göre Ascending yöntemi (A’dan Z’ye doğru sıralama) kullanılarak sıralanmıştır.


Şekil 2. 7. ORDER BY komutunun kullanımı ile ilgili örnek

1.5.       GROUP BY

Aşağıda GROUP BY komutunun kullanımı ile ilgili örnek Şekil 2.8’de gözükmektedir.
Bu örnekte Öğrenci Ders tablosunda Öğrenci Numarası 12’ye eşit olanların Vize Notları, Vize Notuna göre gruplandırılmıştır.

Şekil 2. 8. GROUP BY komutunun kullanımı ile ilgili örnek

1.6.       HAVING

Aşağıda HAVING komutunun kullanımı ile ilgili örnek Şekil 2.9’da gözükmektedir.

Bu örnekte Öğrenci Ders tablosunda Öğrenci Numarası 12’ye eşit olanların Vize Notları, Vize Notuna göre gruplandırılmıştır. Fakat bu notlara 52’den büyük olma kısıtı getirilmiştir.



Şekil 2. 9. HAVING komutunun kullanımı ile ilgili örnek

1.7.       IN

Aşağıda IN komutunun kullanımı ile ilgili örnek Şekil 2.10’da gözükmektedir.

Bu örnekte Öğrenci Ders tablosunda Öğrenci Numarası 9 ve 12 olanların Vize Notları gösterilmek istenmiştir. 



Şekil 2. 10. IN komutunun kullanımı ile ilgili örnek

1.8.       LIKE

Aşağıda LIKE komutunun kullanımı ile ilgili örnek Şekil 2.11’de gözükmektedir.
Bu örnekte Öğrenci Ders tablosunda Öğrenci Numarasının ilk değeri 1 sonraki değerleri herhangi bir değer alabilenlerin (Örnek : 1, 12, 10 ,11 gibi)  Vize Notları gösterilmek istenmiştir.

Şekil 2. 11. LIKE komutunun kullanımı ile ilgili örnek

1.9.       BETWEEN

Aşağıda BETWEEN komutunun kullanımı ile ilgili örnek Şekil 2.12’de gözükmektedir.

Bu örnekte Öğrenci Ders tablosunda Öğrenci Numaraları 9 ile 12 arasında olanların Vize Notları gösterilmek istenmiştir.


Şekil 2. 12. BETWEEN komutunun kullanımı ile ilgili örnek

1.10.   UNION

Aşağıda UNION komutunun kullanımı ile ilgili örnek Şekil 2.13’de gözükmektedir.

Bilindiği üzere UNION komutu birleştirme için kullanılmaktadır.
Bu örnekte, Bölüm tablosundaki Bolum_Kodu sütununa Ders tablosundaki Ders adi sütunu eklenmiştir. Bu değerlerin hepsi Bölüm Kodu’nun altında Şekil 2.13’de olduğu gibi yer almaktadır.


Şekil 2. 13. UNION komutunun kullanımı ile ilgili örnek

1.11.   COUNT

Aşağıda COUNT komutunun kullanımı ile ilgili örnek Şekil 2.14’de gözükmektedir.

Bu örnekte Ders Tablosundaki Kredisi sütunun kaç satırdan oluştuğunu bulmak için Count komutu kullanılmıştır. Şekil 2.14’de gözüktüğü üzere Kredisi 15 satırdan oluşmaktadır.



Şekil 2. 14. COUNT komutunun kullanımı ile ilgili örnek

1.12.   SUM

Aşağıda SUM komutunun kullanımı ile ilgili örnek Şekil 2. 15’de gözükmektedir.

Bu örnekte Ders Tablosundaki Kredisi sütunun satırlarının toplam değerini bulmak için SUM komutu kullanılmıştır. Şekil 2.15’de gözüktüğü üzere Kredilerin toplamı 66’dir.



Şekil 2. 15. SUM komutunun kullanımı ile ilgili örnek

1.13.   MAX

Aşağıda MAX komutunun kullanımı ile ilgili örnek Şekil 2.16’da gözükmektedir.

Bu örnekte Ders Tablosundaki Kredisi sütunun en yüksek değerini bulmak için
MAX komutu kullanılmıştır. Şekil 2.16’da gözüktüğü üzere Krediler sütunun en yüksek değeri 6’dir.


Şekil 2. 16. MAX komutunun kullanımı ile ilgili örnek

1.14.   MIN

Aşağıda MIN komutunun kullanımı ile ilgili örnek Şekil 2.17’da gözükmektedir.

Bu örnekte Ders Tablosundaki Kredisi sütunun en düşük değerini bulmak için
MIN komutu kullanılmıştır. Şekil 2.17’de gözüktüğü üzere Krediler sütunun en düşük değeri 2’dir.


Şekil 2. 17. MIN komutunun kullanımı ile ilgili örnek

1.15.   AVG

Aşağıda AVG komutunun kullanımı ile ilgili örnek Şekil 2.18’de gözükmektedir.

Bu örnekte Öğrenci Ders Tablosundaki Final sütunun ortalama değerini bulmak için
AVG komutu kullanılmıştır. Şekil 2.18’de gözüktüğü üzere Final sütunun ortalama değeri 59.03’dır.


Şekil 2. 18. AVG komutunun kullanımı ile ilgili örnek

1.16.   DATEDIFF

Aşağıda DATEDIFF komutunun kullanımı ile ilgili örnek Şekil 2.19’da gözükmektedir.

Bu örnekte, benim doğduğum gün ile Datediff komutunu anlatırken ki tarih arasında kaç gün olduğunu hesaplayan SQL kod görülmektedir. Şekil 2.19’da gözüktüğü üzere 10901 gün şeklinde bir sonuç elde edilmiştir. Burada, dd komutu gün olarak hesaplanmak istediğimiz için kullanılmıştır.


Şekil 2. 19. DATEDIFF komutunun kullanımı ile ilgili örnek

1.17.   INSERT

Aşağıda INSERT komutunun kullanımı ile ilgili örnek Şekil 2.20’de ve Şekil 2.21’de gözükmektedir.

Bu örnekte Bölüm tablosuna yeni veriler eklenmek istemiştir. Bölüm kodu sütununa yeni row olarak “11”, Bölüm adına “11” ve Telefon sütununa ise 5435038885 eklenmek istenmiştir. Ekleme işlemi Şekil 2.20’de gösterilmiştir ve ayrıca Şekil 2.21’de verilerin eklenmiş hali görünmektedir.


Şekil 2. 20. INSERT komutunun kullanımı ile ilgili örnek


Şekil 2. 21. INSERT komutundan sonraki Bölüm tablosu

1.18.   UPDATE

Aşağıda UPDATE komutunun kullanımı ile ilgili örnek Şekil 2.22’de ve Şekil 2.23’de gözükmektedir.

Bu örnekte, Bölüm tablosunda Telefon sütunundaki değeri 5435038885 olan satırın Bölüm Kodu değeri 123 olarak değiştirilmektedir. Tablonun son hali Şekil 2.23’de görüldüğü gibidir.



Şekil 2. 22. UPDATE komutunun kullanımı ile ilgili örnek


Şekil 2. 23. UPDATE komutundan sonraki Bölüm Tablosu

1.19.   DELETE

Aşağıda DELETE komutunun kullanımı ile ilgili örnek Şekil 2.24’de ve Şekil 2.25’de gözükmektedir.

Bu örnekte, Bölüm tablosundan Bölüm Kodu 123 olan satırlar silinmek istenmiştir. Şekil 2.25’de tablonun son hali gözükmektedir. Bölüm Kodu 123 olan satırlar gözüktüğü üzere silinmiştir.



Şekil 2. 24. DELETE komutunun kullanımı ile ilgili örnek


Şekil 2. 25. DELETE komutundan sonraki Bölüm tablosu

1.20.   CREATE TABLE

Aşağıda CREATE TABLE komutunun kullanımı ile ilgili örnek Şekil 2.26’da ve Şekil 2.27’de gözükmektedir.
Bu örnekte hakan_deneme adında yeni bir tablo oluşturulmuştur. Tablo 2 sütundan oluşmaktadır. Bu sütunlar iş ve ad olarak nitelendirilmiştir. Data tipleri ise text olarak belirtilmiştir. Tablo oluşturma işlemini Şekil 2.26’da görebilirsiniz. Ayrıca Şekil 2.27’de oluşturulmuş olan yeni tablo gözükmektedir.



Şekil 2. 26. CREATE TABLE komutunun kullanımı ile ilgili örnek


Şekil 2. 27. CREATE TABLE komutundan sonra oluşan yeni tablo

1.21.   ALTER TABLE

Aşağıda ALTER TABLE komutunun kullanımı ile ilgili örnek Şekil 2.28’de ve Şekil 2.29’da gözükmektedir.

Alter komutu var olan bir tabloya yeni bir sütun eklenmek istendiğinde kullanılır.
Bu örnekte, Alter komutu ile önceden oluşturulmuş olan hakan_deneme isimli tabloya departmanı sütunu eklenmek istenmiştir. Tabloya ekleme işlemini Şekil 2.28’de görebilirsiniz. Ayrıca Şekil 2.29’da tablonun son hali gözükmektedir.


Şekil 2. 28. ALTER TABLE komutunun kullanımı ile ilgili örnek


Şekil 2. 29. ALTER TABLE komutundan sonra tablonun aldığı son hal

1.22.   DROP TABLE

Aşağıda DROP TABLE komutunun kullanımı ile ilgili örnek Şekil 2.30’da gözükmektedir.

Drop Table komutu var olan bir tabloyu silmek için kullanılmaktadır.
Bu örnekte önceden oluşturulmuş olan hakan_deneme isimli tablo silinmek istenmiştir. Tabloyu silme işlemini Şekil 2.30’da görebilirsiniz.


Şekil 2. 30. DROP TABLE komutunun kullanımı ile ilgili örnek

1.23.   CREATE VIEW

Aşağıda CREATE VIEW ile ilgili örnek gözükmektedir.

View oluşturmayı şu şekilde yapabiliriz. Object Explorer kısmında gözüken Views klasörünün üzerinde sağ tuşa basılır. Açılan pencereden New View sekmesine tıklanır. Karşımıza bir pencere açılacaktır. Bu pencerede Veri Tabanımızda bulunan tablolar gözükmektedir. İstediğimiz tablo seçilerek ADD komutu ile eklenir. Bu örnekte 4 tablo da eklenmiştir. Ekleme işlemi bittikten sonra Close sekmesi ile pencere kapatılır. Karşımızda tabloların eklendiği bir sayfa gelecektir. Hangi tablonun içindeki veriler lazımsa onları seçeriz. Burada öğrenci no, ders kodu, vize notu ve final notu bilgileri kullanılmak için seçilmiştir. Seçilmiş olan özellikleri Şekil 2.31’de görebilirsiniz. Oluşturulan View’i save edip kapattığımızda View tablosu için isim vermeniz gerekmektedir. Bu ismi verdikten sonra View oluşturulmuş olur. Şekil 2.32’de oluşturulmuş olan View’i görebilirsiniz.

View tablosunun içeriğini Şekil 2.32’deki komut satırı ile görmeniz mümkündür. Her zaman kullanılan SELECT komutu ile görmeniz mümkündür.



Şekil 2. 31. CREATE VIEW’in kullanımı



Şekil 2. 32. VIEW'in içeriğinin görüntülenmesi

Ayrıca QUERY kısmından kod yazarak View oluşturmak mümkündür. Şekil 2.33’de örnek bir uygulama gözükmektedir.


Şekil 2. 33. Query kısmından View oluşturma

1.24.   CREATE TRIGGER

Aşağıda CREATE TRIGGER ile ilgili örnek Şekil 2.34’de, Şekil 2.35 ve Şekil 2.36’da gözükmektedir.

Bu örnekte Trigger işlemi için ilk olarak iki adet tablo oluşturulmuştur. Bu tabloların oluşturulması Şekil 2.34 ve Şekil 2.35’de gösterilmiştir. Bu tabloların isimleri Bolum_Tri ve Bolum_Triggerı’dır. Bolum_Tri tablosuna 4 adet satır girilmiştir. Veri girişi işlemi Şekil 2.34’de görülmektedir.
Oluşturulan tablolardan sonra Insert için Trigger oluşturulmuştur. 



Şekil 2. 34. Create Trigger için Bolum_Tri tablosunun oluşturulması


Şekil 2. 35. Create Trigger için Bolum_Triggerı tablosunun oluşturulması

1.25.   CREATE STORED PROCEDURE

Aşağıda CREATE STORED PROCEDURE ile ilgili örnek Şekil 2.37’de, Şekil 2.38’de ve Şekil 2.39’da gözükmektedir.

Bu örnekte Öğrenci Ders tablosundan vize notu ve final notu 60’ın üstünde olanları çağırmak için bir prosedür oluşturulmuştur. Prosedür oluşturma işlemi Şekil 2.37’de gözükmektedir. Prosedürün çalıştırılması ise Şekil 2.38’de görülmektedir. Şekil 2.39’da Object Explorer’da Stored Prosedür’ün görüntülemesi yer almaktadır.



Şekil 2. 37. Prosedürün oluşturulması


Şekil 2. 38. Prosedürün çalıştırılması


Şekil 2. 39. Object Explorer'da Stored Prosedürün görüntülenmesi

1.26.   CREATE FUNCTION

Aşağıda CREATE FUNCTION ile ilgili örnek Şekil 2.40’da, Şekil 2.41’de ve Şekil 2.42’de gözükmektedir.

Bu örnekte Öğrenci Ders tablosundan vize notu ve final notları kullanılarak bu notların ortalamasını hesaplayan NotOrtalaması isimli bir fonksiyon oluşturulmuştur. Fonksiyon oluşturma işlemi Şekil 2.40’da gözükmektedir. Fonksiyonun çalıştırılması ise Şekil 2.41’de görülmektedir. Şekil 2.42’de Object Explorer’da Fonksiyon’un görüntülemesi yer almaktadır.


Şekil 2. 40. Fonksiyonun oluşturulması


Şekil 2. 41. Fonksiyonun çalıştırılması


Şekil 2. 42. Object Explorer'da Fonksiyon'un görüntülenmesi

Umarım anlamışsınızdır. Sormak istedikleriniz için yorum bırakınız.

Hiç yorum yok