İleri SQL Dersleri 1 – SELECT TOP – ROWNUM Cümlesi

sql SELECT TOP Cümlesi tablodan belirli bir sayıda veri döndürmemizi sağlar.

Özellikle büyük tablolarda binlerce hatta milyonlarca veri varken istediğimize ulaşmamız konusunda oldukça kullanışlıdır. Çok fazla veri ile çalışmak performansı etkilemektedir.

Note: Her veritabanı SELECT TOP yapısını desteklememektedir. Ama benzer yapılar tüm databaselerde vardır.

SQL Server / MS Access Syntax

1
2
 SELECT TOP number|percent column_name(s)
FROM table_name;

 

SQL SELECT TOP Yapısının MySQL ve Oracle daki Benzerleri
MySQL Syntax

1
2
3
 SELECT column_name(s)
FROM table_name
LIMIT number;

 

Örnek

1
2
3
 SELECT *
FROM Persons
LIMIT 5;

 

ORACLE Syntax

1
2
3
 SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;

 

Örnek

1
2
3
 SELECT *
FROM Persons
WHERE ROWNUM <=5;

 

SELECT TOP Örnekleri:
Aşağıdaki sorgu Customers tablosundaki ilk iki kayıdı getirir.

1
2
 SELECT TOP 2 *
FROM Customers;

 
Denemek İçin Tıklayınız

SELECT TOP PERCENT Örnekleri:
Aşağıdaki sorgu Customers tablosundaki kayıtların ilk %50 sini getirir.

1
2
 SELECT TOP 50 PERCENT *
FROM Customers;

 
Denemek İçin Tıklayınız

SQL Dersleri 8 – INSERT INTO Cümlesi

Insert into cümlesi sqlde tablolara veri eklememizi sağlar. Insert into ile iki farklı şekilde tablolara veri ekleyebiliriz.

SQL INSERT INTO Syntax Yapısı
İlk formunda veriler spesifik kolonlara değil tümüne veri atmayı sağlar.

1
2
 INSERT INTO table_name
 VALUES (value1, value2, value3,...)

 

İkinci formda ise veriler belirtilen kolonlara insert edilir.

1
2
 INSERT INTO table_name (column1, column2, column3,...)
 VALUES (value1, value2, value3,...)

 

SQL INSERT INTO Örneği:
The “Kisiler” tablosu:

K_Id Soyad Adi Adres Sehir
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Şimdi “Kisiler” tablosuna veri ekleyelim.

Aşağıdaki SELECT sorgusu kullanalım:

1
2
 INSERT INTO Persons
 VALUES (4,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger')

 

Bu sorgudan sonra tablonun görünümü aşağıdaki gibi olacaktır.

K_Id Soyadi Adi Adres Sehir
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger

SQL INSERT INTO Belirli Kolonlara Veri Ekleme Örneği
Sadece tablodaki bazı kolonlara veri atmak için kullanılır.

Şimdi sadece K_id, Soyad ve Ad içeren bir satır ekleyelim.

Bunun için aşağıdaki sorguyu kullanmalıyız:

1
2
 INSERT INTO Persons (P_Id, LastName, FirstName)
 VALUES (5, 'Tjessem', 'Jakob')

 

Bu sorguyu çalıştırdıktan sonra tablomuzun görüntüsü aşağıdaki gibi olur.

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
5 Tjessem Jakob

SQL Dersleri 7 – ORDER BY Operatörleri

ORDER BY operatörü sorgudan dönecek değerleri sıralamak için kullanılır.

ORDER BY operatörü gelen değerleri satndartta artan olarak sıralar, azalan olarak sıralamak için DESC anahtarı kullanılır.

ORDER BY kullanımı aşağıdaki gibidir:

1
2
3
 SELECT sütun_adları
 FROM tablo_adı
 ORDER BY sütun_adı ASC|DESC

ORDER BY Örneği
Kişiler Tablosu:

K_Id Soyadi Adi Adres Sehir
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Şimdi tablodaki tüm kişileri soyadı sırasına göre dizmek için kullanmamız gerekn sql sorgusunu yazalım.
Sorgu aşağıdaki gibi olacaktır.

1
2
SELECT * FROM Persons
ORDER BY LastName

 
Sonuç aşağıdaki gibi olacaktır:

K_Id Soyadi Adi Adres Sehir
1 Hansen Ola Timoteivn 10 Sandnes
4 Nilsen Tom Vingvn 23 Stavanger
3 Pettersen Kari Storgt 20 Stavanger
2 Svendson Tove Borgvn 23 Sandnes

ORDER BY DESC Örneği
Kişiler Tablosu:

K_Id Soyadi Adi Adres Sehir
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Şimdi tablodaki tüm kişileri soyadı sırasına göre azalan olarak dizmek için kullanmamız gerekn sql sorgusunu yazalım.
Sorgu aşağıdaki gibi olacaktır.

1
2
SELECT * FROM Persons
ORDER BY LastName DESC

 
Sonuç aşağıdaki gibi olacaktır:

K_Id Soyadi Adi Adres Sehir
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Tom Vingvn 23 Stavanger
1 Hansen Ola Timoteivn 10 Sandnes