LEFT JOIN ile iki adet tablomuzdaki kayıtları belli bir kritere göre birleştirebilir. Burada asıl olan birinci tablondaki kayıtlardır. İkinci tablodan sadece birinci tabloda olan kayıtlar alınır. İkinci tabloda olupta birinci tabloda olmayan alanların değeri boş (NULL) olarak gelecektir

LEFT JOIN Kullanım Biçimi
SELECT alan_ad(lari)
FROM tablo1 LEFT JOIN tablo2
ON tablo1.alan_adi=tablo2.alan_adi

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

NOT: LEFT JOIN aynı zamanda LEFT OUTER JOIN olarak da kullanılabilir.
Burada görüleceği üzere From ifadesi ile birinci tablomuzu ve ardından LEFT JOIN (veya LEFT OUTER JOIN) ile ikinci tablomuu belirtmiş oluyoruz. ON ile hangi alanların eşitleneceği gösterilmektedir. Birinci tabloda ki bütün kayıtlar seçilir. Buna karşılık eşitlenen alanlara bakılarak ikinci tablodan sadece birinci tabloda olan kayıtlar seçilir. Mesela id_no alanına göre eşitleme yapılırsa birinci tabloda id_no alanında 1,2,3,4,5,6,7 kayıtları ve ikinci tabloda id_no alanında 3,4,9,10,11,15 kayıtları varsa; birinci tablodaki bütün kayıtlar alınırken ikinci tablodan sadece birinci tablodakine eşit olan kayıtlar alınır. Yani ikinci tablodan sadece 3 ve 4 id nolu kayıtlar alınır.


Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Müşteriler isimli tablomuz olsun.
idAdi_soyadi
1Salih ESKİOĞLU
2Ayhan ÇETİNKAYA
3Serkan ÖZGÜREL
4İlhan ÖZLÜ
İkinci tablomuz olan Satışlar ise aşağıdaki gibi olsun.
idSatilan_malSatis_fiyati
1Buzdolabi1200
2LCD TV1800
5LCD TV1750
8Çamaşır Makinesi950

Örnek1:

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

Bu kodda iki tablodaki id alanları eşitlenmiş. Birinci tablodan bütün kayıtlar alınacaktır. İkinci tablodan ise id alanında sadece 1 ve 2 yazan kayıtlar alınacaktır. id alanında 5 ve 8 yazan kayıtlar dikkate alınmayacaktır. Çünkü birinci tabloda 5 ve 8 id numarasına sahip kayıt bulunmamaktadır.
Çıktısı:
idAdi_soyadiSatilan_malSatis_fiyati
1Salih ESKİOĞLUBuzdolabı1200
2Ayhan ÇETİNKAYALCD TV1800
3Serkan ÖZGÜREL  
4İlhan ÖZLÜ  
Ö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 alanları 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_soyadiSatilan_mal
Salih ESKİOĞLUBuzdolabı
Ayhan ÇETİNKAYALCD TV
Serkan ÖZGÜREL 
İlhan ÖZLÜ 
Ö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_noAdi_soyadiSehir
1Salih ESKİOĞLUBuzdolabı
2Ayhan ÇETİNKAYALCD TV
3Serkan ÖZGÜREL 
4İlhan ÖZLÜ 

SQL LEFT JOIN Kullanımı

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.
idAdi_soyadi
1Salih ESKİOĞLU
2Ayhan ÇETİNKAYA
3Serkan ÖZGÜREL
4İlhan ÖZLÜ
İkinci tablomuz olan Satışlar ise aşağıdaki gibi olsun.
idSatilan_malSatis_fiyati
1Buzdolabi1200
1LCD TV1800
2LCD TV1750
1Çamaşır Makinesi950

Ö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ı:
idAdi_soyadiSatilan_malSatis_fiyati
1Salih ESKİOĞLUBuzdolabı1200
1Salih ESKİOĞLULCD TV1800
2Ayhan ÇETİNKAYALCD TV1750
1Salih ESKİOĞLUÇamaşır Makinesi950
Ö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_soyadiSatilan_mal
Salih ESKİOĞLUBuzdolabı
Salih ESKİOĞLULCD TV
Ayhan ÇETİNKAYALCD 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_noAdi_soyadiSehir
1Salih ESKİOĞLUBuzdolabı
1Salih ESKİOĞLULCD TV
1Salih ESKİOĞLUÇamaşır Makinesi
2Ayhan ÇETİNKAYALCD TV

SQL INNER JOIN Kullanımı ( SQL Tablo Birlestirmek)

AS ifedesi ile uzun ve kullanımı zor olan tablo veya alan adlarına geçici olarak kısa isimler vererek bunları kodlamalarımızda kullanabiliriz. Böylece mevcut tablo yapımız bozmadan anlık olarak belirlediğimiz isimleri kullanabiliriz. Verilecek olan geçici ad eğer boşluk içeriyorsa köşeli parantez içinde yazılır. Tablodaki alan adlarında Türkçe karakter kullanımına izin verilmemektedir. Bu tip durumlarda AS ifadesi ile geçici bir isim verip yazdığımız uygulamada kullanabiliriz.

AS İfadesinin Alan Adlarında Kullanım Biçimi
SELECT alan_adi AS gecici_ad
FROM tablo_adi
AS İfadesinin Tablo adlarında Kullanım Biçimi
SELECT alan_adi
FROM tablo_adi AS gecici_ad


Örnek Tablo Uygulaması:

Birinci Tablomuz: 
Örnek olarak aşağıdaki gibi Personel_Bilgileri isimli tablomuz olsun.
idAdi_soyadiYasadigi_sehirBolum_adiMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAİzmitİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİzmirFinans Yöneticisi3456789
4İlhan ÖZLÜİstanbulMuhasebe7765677
İkinci Tablomuz: Örnek olarak aşağıdaki gibi Detay_Bilgileri isimli tablomuz olsun.
idSatilan_urunSatis_fiyati
1Buzdolabi1000
1Çamaşır Makinesi900
4Buzdolabı1100
4Televizyon1800

Örnek1:

SELECT Adi_Soyadi AS isim, Yasadigi_sehir AS memleket
FROM Personel_bilgileri

Bu örnekte Adi_soyadi ve Yasadigi_sehir alaları için AS ifadesi ile geçici bir ad verilmiş olnur.
Çıktısı:
isimmemleket
Salih ESKİOĞLUİstanbul
Ayhan ÇETİNKAYAİzmit
Serkan ÖZGÜRELİzmir
İlhan ÖZLÜİstanbul


Örnek2:SELECT Adi_Soyadi AS isim, Yasadigi_sehir AS [Yaşadığı Şehir]
FROM Personel_bilgileri
WHERE [Yaşadığı Şehir]= 'İstanbul'

Bu kodda görüleceği üzere Yasadigi_sehir alanı için tanımlanan geçici ad WHERE ifadesinden sonra kullanılmaktadır. Artık sorgunun geri kalan kısımlarında [Yaşadığı Şehir] olarak kullanılabilir. Verilen geçici adda boşluk olduğu için köşeli parantez içinde yazılmalıdır.
Çıktısı:
isimYaşadığı Şehir
Salih ESKİOĞLUİstanbul
İlhan ÖZLÜİstanbul

Örnek3:
SELECT personel.id, personeladi_soyadi AS isim, satislar.satilan_urun AS [Ürün], satislar.satis_fiyati AS [Satış Fiyatı]
FROM Personel_bilgileri AS personel, Detay_bilgileri AS satislar
WHERE personel.id=satislar.id

İlk bakışta oldukça karışık bir kod olarak görünebilir. Burad iki tane tablo bir arada kullanılmıştır. İnceleyecek olursak;
FROM ifadesinden sonra Personel_bilgileri isimli tablonun adı kısaltılarak personel yapılmış. Aynı şekilde Detay_bilgileri tablosu ise satislar olarak adlandırılmış.
SELECT ifadesinden sonra, iki tane tablo kullanıldığı için alanadları yazılırken hangi tablodan olduğu belirtilmek zorundadır. İşte burada tabloya verilen kısa ad kullanılabilir.
WHERE ifadesi ile sorgu sonucu ortaya çıkan verilerde iki tablodaki id alanları eşit olan kayıtları seçerek hangi personelin hangi ürünü sattığı öğrenilebilir.
Çıktısı:
idisimÜrünSatış Fiyatı
1Salih ESKİOĞLUBuzdolabi1000
1Salih ESKİOĞLUÇamaşır Makinesi900
4İlhan ÖZLÜBuzdolabı1100
4İlhan ÖZLÜTelevizyon1800

SQL AS Alias Kullanımı(SQL'De takma ad vermek)

Between operatörü ile bir alanda belirtilen aralıktaki değerleri aramak için kullanılır.

BETWEEN Kullanım Biçimi
SELECT alan_ad(lari)
FROM tablo_adi
WHERE sorgulanacak_alan_adi BETWEEN aranacak_deger1 AND aranacak_deger2
BETWEEN bir operatördür ve WHERE ile kullanılır.

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumMaas
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu900
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi1300
3Serkan ÖZGÜRELErzincanFinans Yöneticisi1250
4İlhan ÖZLÜİstanbulMuhasebe1500

Örnek1:

SELECT *
FROM Personel
WHERE Maas BETWEEN 1000 AND 1300

Bu kod ile Maaşı 1000 ile 1300 arasında olan kayıtlar seçilir. Burada dikkat ediliceği üzer Maas alanı rakamsal bir alan olduğu için 1000 ve 1300 degerleri tırnak işareti kullanılmadan yazılmıştır.
Çıktısı:
idAdi_soyadiSehirBolumMaas
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi1300
3Serkan ÖZGÜRELErzincanFinans Yöneticisi1250
Örnek2:

SELECT Adi_soyadi, Sehir
FROM Personel
WHERE Sehir BETWEEN 'A' AND 'K'

Bu kod ile Sehir alanındaki kayıtlardan A ile K harfi arasındaki harflerden herhangi bir harf ile başlayan kayıtlar seçilmektedir. Burada dikkat ediliceği üzer Bolum alanı metinsel bir alan olduğu için aranacak  degerler tırnak işareti kullanılarak yazılmıştır.
Çıktısı:
Adi_soyadiSehir
Ayhan ÇETİNKAYAKocaeli
Serkan ÖZGÜRELErzincan
Örnek3:

SELECT Adi_soyadi, Sehir
FROM Personel
WHERE Sehir NOT BETWEEN 'A' AND 'K'

Bu kod ile Sehir alanındaki kayıtlardan A ile K harfi arasındaki harflerden herhangi bir harf ile başlamayan kayıtlar seçilmektedir. NOT kelimesi yapılan işleminolumsuz yani şartlara uymayan halini işler.
Çıktısı:
Adi_soyadiSehir
Salih ESKİOĞLUİstanbul
İlhan ÖZLÜİstanbul

SQL BETWEEN Kullanımı

IN operatörü belirtilen tek bir alanda birden fazla değeri aramak için kullanılır.

IN Kullanım Biçimi
SELECT alan_ad(lari)
FROM tablo_adi
WHERE sorgulanacak_alan_adi IN (aranacak_deger1,aranacak_deger2,...)
IN bir operatördür ve WHERE ile kullanılır.

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELErzincanFinans Yöneticisi3456789
4İlhan ÖZLÜİstanbulMuhasebe3456723

Örnek1:

SELECT *
FROM Personel
WHERE Sehir IN ( 'İstanbul','Kocaeli')

Bu kod ile Sehir alanında İstanbul ve Kocaeli yazan kayıtlar seçilir.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
4İlhan ÖZLÜİstanbulMuhasebe3456723

SQL IN Kullanımı

LIKE operatörü tablomuzda bulunan kayıtlardan belirttiğimiz kriterler uygun olanları seçmek için kullanılır. Ancak bazı durumlarda farklı ihtiyaçlar söz konusu olabilir. Bu tip bir durumda LIKE ifadesinden sonra bazı özel işretler kullanılarak istenilen sonuçlara ulaşılabilir.

LIKE İşaretleri Tablosu
İşaretAçıklaması
%Birden çok karakterin yerine kullanılır
_Sadece bir karakterin yerine kullanılır.
[karakter_listesi]Köşeli parantez ile belirtilen harf listesi % işareti ile kullanılır.
LIKE bir operatördür ve WHERE ile kullanılır. Yani eşittir, büyüktür veya küçüktür işareti yerine kullanılır.

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAİzmitİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİzmirFinans Yöneticisi3456789
4İlhan ÖZLÜİstanbulMuhasebe7765677

Örnek1:

SELECT *
FROM Personel
WHERE Sehir LIKE 'İ%'

Bu örnekte Sehir alanında İ harfi ile başlayan kayıtlar seçilmiştir. % işareti İ harfinden sonra kalan karakteri temsil eder. Yani bu sorgunun anlamı: Sehir alanındaki verilerden İ harfi ile başlayan kayıtları seç.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
3İlhan ÖZLÜİstanbulMuhasebe7765677


Örnek2:
SELECT *
FROM Personel
WHERE Bolum LIKE '%Yönetici%'

Bu kodda Bolum alanının herhangi bir yerinde (başında, ortasında veya sonunda) Yönetici kelimesini seçecektir.
Çıktısı:
2Ayhan ÇETİNKAYAİzmitİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİzmirFinans Yöneticisi3456789
ÖNEMLİ BİLGİ: NOT kelimmesi ile belirtilen değere sahip olmayan kayıtlar seçilir
Örnek3:
SELECT *
FROM Personel
WHERE Bolum NOT LIKE '%Yönetici%'

Bu kod Bolum alanının herhangi bir yerinde Yönetici yazmayan kayıtları seçer.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
4İlhan ÖZLÜİstanbulMuhasebe7765677
Örnek4:
SELECT *
FROM Personel
WHERE Sehir  LIKE 'İzmi_'

Bu kod Sehir alanının İzmi ile başlayan ve son harfi ne olursa olsun farketmeyen kayıtları seçer.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
2Ayhan ÇETİNKAYAİzmitİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİzmirFinans Yöneticisi3456789
Örnek5:
SELECT *
FROM Personel
WHERE Adi_soyadi  LIKE '[S,A]%'

Bu kod Adi_soyadi alanındaki ilk harfi S veya A ile başlayan kayıtları seçer. Son kayıt İ harfi ile başladığı için seçilmemiştir.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAİzmitİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİzmirFinans Yöneticisi3456789
Örnek6:
SELECT *
FROM Personel
WHERE Adi_soyadi  LIKE '[A-K]%'

Bu kod Adi_soyadi alanındaki, ilk harfi A ile K harfleri arasında ki herhangi bir harf ile başlayan kayıtları seçer. Bu koda uyan sadece bir kayıt vardır. Adi_soyadi alanındaki diğer kayıtlar S ve İ ile başladığından dolayı
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
2Ayhan ÇETİNKAYAİzmitİdari İşler Yöneticisi2345678

SQL LIKE İŞARETLERİNİN Kullanımı

LIKE operatörü tablomuzda bulunan kayıtlardan belirttiğimiz kriterler uygun olanları seçmek için kullanılır.

LIKE Kullanım Biçimi
SELECT alan_ad(lari)
FROM tablo_adi
WHERE sorgulanacak_alan_adi LIKE sorgulama_degeri
LIKE bir operatördür ve WHERE ile kullanılır. Yani eşittir, büyüktür veya küçüktür işareti yerine kullanılır.

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİstanbulFinans Yöneticisi3456789

Örnek1:

SELECT *
FROM Personel
WHERE Sehir LIKE 'İ%'

Burada dikkat edilecek nokta LIKE ifadesinden sonra % işaretinin kullanılmasıdır. Bu örnekte Sehir alanında İ harfi ile başlayan kayıtlar seçilmiştir. % işareti İ harfinden sonra kalan karakteri temsil eder. Yani bu sorgunun anlamı: Sehir alanındaki verilerden İ harfi ile başlayan kayıtları seç.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
3Serkan ÖZGÜRELİstanbulFinan Yöneticisi3456789


Örnek2:
SELECT *
FROM Personel
WHERE Bolum LIKE '%Yönetici%'

Bu kodda Bolum alanının herhangi bir yerinde (başında, ortasında veya sonunda) Yönetici kelimesini seçecektir.
Çıktısı:
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİstanbulFinans Yöneticisi3456789
ÖNEMLİ BİLGİ: NOT kelimmesi ile belirtilen değere sahip olmayan kayıtlar seçilir
Örnek3:
SELECT *
FROM Personel
WHERE Bolum NOT LIKE '%Yönetici%'

Bu kod Bolum alanının herhangi bir yerinde Yönetici yazmayan kayıtları seçer.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567

SQL LIKE Kullanımı ( SQLde Arama Yapmak)

SELECT ifadesi veritbanından verileri okumak için kullanılır. Select ifadesi tek başına kullanıldığında veritabanındaki tablo üzerinde bulunan bütün verileri seçer. Ancak binlerce hatta on binlerce kaydın olduğu bir tablodan bütün verileri çekmek veritabanını zorlayacak ve uygulamanın kitlenmesine neden olacaktır. Bunun yerine SELECT TOP ilee belirtilen kadar kayıt seçilir. Select Top ifadesi ile kayıt adedi veya yüzdesi belirtildikten sonra alan adları mutlaka yazılmalıdır. Yazılan alan adlarındaki kayıtlar ekrana gelir. * işareti konulursa bütün alanlar seçilir.

NOT: SELECT TOP ifadesi her veritabanında desteklenmez. Faklı veritabanlarında aynı işi yapan başka ifadeler kullanılır.
Select Top SQL SERVER ve ACCESS Veritabanlarında Kullanım BiçimiEğer sadece ilk bir kaç kaydı seçecek isek SELECT TOP ifadesinden sonra seçeceğimiz kayıt adedini belirtiriz.
SELECT TOP kayit_adedi   alan_adi1,alan_adi2,...
FROM tablo_adi
Eğer bütün kayıtlar içinden yüzdesel olarak seçim yapacaksakz.
SELECT TOP yuzde_degeri PERCENT alan_adi1, alan_adi2,...
FROM tablo_adi

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumSicil No
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELErzincanBilgi İşlem Sorumlusu3456789
4İlhan ÖZLÜİstanbulMuhasebe7677667

Örnek1:

SELECT TOP 2 Adi_soyadi, Sehir FROM Personel 

Bu kod ile tablodaki Adi_soyadi ve Sehir alanlarındaki kayıtlardan sadece ilk iki tanesi seçilir.
Çıktısı:
Adi_soyadiSehir
Salih ESKİOĞLUİstanbul
Ayhan ÇETİNKAYAKocaeli

Örnek2:
SELECT TOP 25 Percent * FROM Personel

Bu örnekte Personel tabosunda bütün alanlar seçilmektedir. Ancak bütün kayıtlardan sadece yüzde 25'i seçilmiştir. Tablomuzda toplam 4 kayıt olduğu için bu kod ile sadece 1 kayıt seçilmiş olur.
Çıktısı:
idAdi_soyadiSehirBolumSicil No
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
Select Top MySQL ve ORACLE Veritabanlarında Kullanım Biçimi
MySQL Kullanım Biçimi: MySQL veritabanlarında ilgili seçim LIMIT ifadesi ile gerçekleştirilmektedir.
SELECT alan_adi1,alan_adi2,...
FROM tablo_adi
LIMIT kayit_adedi
Oracle Kullanım Biçimi: ORACLE veritabanlarında WHERE ROWNUM ifadesi ile birlikte kullanılır.
SELECT alan_adi1,alan_adi2,...
FROM tablo_adi
WHERE ROWNUM <= kayit_adedi
Örnek3:
SELECT Adi_soyadi FROM Pesonel LIMIT 3
Bu örnekte sadece Adi_soyadi alanındaki ilk 3 kayıt seçilmketedir.
Çıktısı:
Adi_soyadi
Salih ESKİOĞLU
Ayhan ÇETİNKAYA
Serkan ÖZGÜREL
Örnek4:
SELECT Bolum FROM Pesonel WHERE ROWNUM <= 3
Bu örnekte sadece Bolum alanındaki ilk 3 kayıt seçilmketedir.
Çıktısı:
Bolum
Bilgi İşlem Sorumlusu
İdari İşler Yöneticisi
Bilgi İşlem Sorumlusu

SQL SELECT TOP Kullanımı

DELETE ifadesi tablomuzda bulunan kayıtları silmek için kullanılır.

DELETE Kullanım Biçimi
DELETE  FROM tablo_adi
WHERE secilen_alan_adi=alan_degeri
Burada dikkat edilecek nokta WHERE ifadesi ile belli bir kayıt seçilip silinir. Eğer WHERE ifadesini kullanmadan yaparsak tablodaki bütün kayıtları silmiş oluruz.

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİstanbulMuhasebe3456789

Örnek1:

DELETE FROM Personel
WHERE id=3

Tablomuzda bulunan kayıtlarda WHERE ifadesi ile id alanında 3 yazan kaydı silmiş olduk. Metin karakterli alanlara tek tırnak işareti kullanılır. Sayısal alanlarda direk olarak yazılır. Bazı veritbanı editörleri sayısal alana veri girerken de te tırnak işareti içinde yazımı kabul etmektedir.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678


Örnek2:DELETE FROM Personel
WHERE Sehir='İstanbul'

Bu kodda WHERE ifadesi ile Sehir alanında İstanbul yazan kayıtları silmiş olduk.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi1111111

SQL DELETE Kullanımı

UPDATE ifadesi tablomuzda bulunan kayıtları güncellemek yani değiştirmk için kullanılır.

UPDATE Kullanım Biçimi
UPDATE  tablo_adi
SET alan_adi1=deger1, alan_adi2=deger2, alan_adi3=deger3, ...)
WHERE secilen_alan_adi=alan_degeri
Burada dikkat edilecek nokta WHERE ifadesi ile belli bir kayıt veya kayıtlar seçilip değiştirilmek istenilen alanlardaki değerler değiştirilir. Eğer WHERE ifadesini kullanmadan yaparsak tablodaki bütün kayıtları değiştirmiş oluruz.

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELErzincanMuhasebe3456789

Örnek1:

UPDATE Personel
SET  Sehir='Ankara',Meslek_kodu=5555555
WHERE id=3

Tablomuzda bulunan kayıtlarda WHERE ifadesi ile id alanında 3 yazan kaydı seçmiş olduk. İlgili kaydın Sehir alanını Ankara ve Meslek_kodu alanını da 5555555 olarak değiştirdik. Metin karakterli alanlara tek tırnak işareti kullanılır. Sayısal alanlarda direk olarak yazılır. Bazı veritbanı editörleri sayısal alana veri girerken de te tırnak işareti içinde yazımı kabul etmektedir.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELAnkaraMuhasebe5555555


Örnek2:
UPDATE Personel
SET Meslek_kodu=1111111

Bu kodda WHERE ifadesi olmadığı için mevcut olan bütün kayıtların Meslek_kodu alanını 1111111 olarak değiştirir..
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1111111
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi1111111
3Serkan ÖZGÜRELErzincanMuhasebe1111111

SQL UPDATE Kullanımı

INSERT INTO ifadesi tablomuza yeni bir kayıt eklemek için kullanılır.

INSERT INTO Kullanım Biçimi
Insert Into kodu iki türlü kullanılabilir.

Birinci yöntem: Bu yöntemde direk tablo adı belirterek sadece değerleri yazmak surtiyle kayıt ekleyebiliriz. Ancak burada dikkat edeceğimiz nokta eklenecek değer tablomuzdaki alan sırasına göre olmalıdır. Mesele tablomuzdaki alan sıralaması Ad, Soyad, ve Dogum_yili  seklinde olsun. Values ifadesinden yazılacak değerler sırası ile işlenir. Karışık yazdığımız zaman, Dogum_yili alanı sayısal bir alan ise metinsel veri girilemeyeceği için programımız hata verecektir. Veya sıralamya dikkat etmezsek bilgilerimiz olması gerek alana yazılmaz.
INSERT INTO  tablo_adi
VALUES (deger1, deger2, ...)


İkinci yöntem: Bu yöntemde ise eklenecek alanları ve değerleri kendimiz belirtiriz. Burada dikkat edilmesi gereken şey; yazdığımız alan adının sırasına göre değerleri eklememiz olacaktır.

INSERT INTO  tablo_adi (alan_adi1, alan_adi2, alan_adi3)
VALUES (deger1, deger2, deger3)

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678

Örnek1:

INSERT INTO Personel
VALUES (3, 'Serkan ÖZGÜREL', 'Erzincan', 'Muhasebe', 3456789)

Yukarıda görüldüğü gibi tablomuza yeni bir kayıt ekleme kodunu yazdık. Alan adlarını sırası ile kontrol ettik ve değerlerimizi sıraya dikkat ederek girdik. Metin karakterli alanlara veri eklenirken tek tırnak işareti kullanılır. Sayısal alanlara veri eklerken ifade direk olarak yazılır. Bazı veritbanı editörleri sayısal alana veri girerken de te tırnak işareti içinde yazımı kabul etmektedir.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELErzincanMuhasebe3456789


Örnek2:INSERT INTO Personel (id, adi_soyadi, sehir)
VALUES (3, 'Serkan ÖZGÜREL', 'Erzincan')

Bu kod ile tablomuza sadece 3 alan için yeni kayıt eklenir .
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELErzincan

SQL INSERT INTO Kullanımı

ORDER BY ifadesi kayıtları belirtilen alanda büyükten küçüğe veya küçükten büyüğe göre sıralar. ASC (ascending) parametresi ile küçükten büyüğe, DESC (descending) parametresi ile büyükten küçüğe göre sıralar. Burada sadece sayısal alanlar değil metinsel alanlarda alfabetik olarak sıralanabilir.

ORDER BY Kullanım Biçimi
SELECT  alan_adi1,alan_adi2
FROM tablo_adi
ORDER BY alan_adi2 ASC

SELECT  alan_adi1,alan_adi2
FROM tablo_adi
ORDER BY alan_adi2 DESC

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELErzincanMuhasebe3456789
4İlhan ÖZLÜİstanbulBİlgi İşlem Sorumlusu2345678

Örnek1:

SELECT * FROM Personel ORDER BY Meslek_Kosu ASC

Bu kod tablodaki Meslek_Kodu alanına göre kayıtları küçükten büyüğe doğru alır.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
4İlhan ÖZLÜİstanbulBİlgi İşlem Sorumlusu2345678
3Serkan ÖZGÜRELErzincanMuhasebe3456789


Örnek2:SELECT * FROM Personel ORDER BY Adi_soyadi DESC

Bu kod Adi_soyadi alanına göre kayıtları büyükten küçüğe yani Z harfinden A harfine doğru dizer. .
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
3Serkan ÖZGÜRELErzincanMuhasebe3456789
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
4İlhan ÖZLÜİstanbulBİlgi İşlem Sorumlusu2345678
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678

Örnek3:SELECT * FROM Personel Where Sehir='İstanbul' ORDER BY Meslek_kodu ASC

Bu kod Sehir alanında İstanbul yazan kayıtları seçer. ORDER BY ise sadece bu seçili olan kayıtlar üzerinde Meslek_kodu alanını baz alarak küçükten büyüğe doğru sıralama yapar.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
4İlhan ÖZLÜİstanbulBİlgi İşlem Sorumlusu2345678

SQL ORDER BY Kullanımı