İleri SQL Dersleri 2 – SELECT LIKE Operatörü

sql LIKE operatörü WHERE koşulu altında kullanılır. Amacı arama yaptığımız kısmın belli ir parçası ile arama yapmaktır.

LIKE operatörü bir sütunda belirli bir desen aramak için kullanılır.
 
 
 
SQL LIKE Syntax

1
2
3
 SELECT column_name(s)
 FROM table_name
 WHERE column_name LIKE pattern;

 

Örnek Veritabanı
Aşağıda tanınmış Northwind örnek veritabanını kullanılıyor.

Aşağıdaki “Customers” tablosuna select çekelim.

ID CustomerName ContactName Address City Code Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

 
 
SELECT LIKE Örneği:
Aşağıdaki sorgu Customers tablosundaki city kayıtların “s” ile başlayanlarını getiriyor.

1
2
 SELECT * FROM Customers
 WHERE City LIKE 's%';

 
Denemek İçin Tıklayınız

İPUCU: “%” işareti arama yaparken koyduğumuz yerde joker karakterdir. Olmayan kısmı tanımlamak için kullanılır.

Aşağıdaki sorgu Customers tablosundaki city kayıtların “s” ile bitenleri getiriyor.

1
2
 SELECT * FROM Customers
 WHERE City LIKE '%s';

 
Denemek İçin Tıklayınız

Aşağıdaki sorgu Customers tablosundaki city kayıtlarında “land” içerenleri getiriyor.

1
2
 SELECT * FROM Customers
 WHERE City LIKE '%land%';

 
Denemek İçin Tıklayınız

LIKE operatöründen önce NOT konulması uyuşan kısmı olanların gelmemesini sağlar.

Aşağıdaki sorgu Customers tablosundaki city kayıtlarında “land” içermeyenleri getiriyor.

1
2
 SELECT * FROM Customers
 WHERE City NOT LIKE '%land%';

 
Denemek İçin Tıklayınız

İPUCU: “_” işareti arama yaparken koyduğumuz yerde joker karakterdir. Konulduğu yerdeki bilinmeyen yada aranan karakterin yerine geçer. Birden fazla karakter için birden fazla kullanmak gerekir.

Aşağıdaki sorgu Customers tablosundaki city kayıtlarında herhangibir krakterle başlayım ‘erlin’ ile bitenleri getiriyor.

1
2
 SELECT * FROM Customers
 WHERE City LIKE '_erlin';

 
Denemek İçin Tıklayınız

İ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 10 – DELETE Cümlesi

DELETE cümlesi tablonuzdaki kayıtlı satırları silmenize yardımcı olur.
Tablodaki satırları koşullarla silebileceğiniz gibi tüm tabloyuda silebilirsiniz.

SQL DELETE Syntax Yapısı
DELETE cümlesi veritabanınızdaki verileri silmek için kullanılır.

1
2
 DELETE FROM table_name
 WHERE some_column=some_value

 

NOT: WHERE yapısı burada DELETE cümlesi içinde yardımcı bir yapıdır. WHERE koşulu ile silinecek satır veya satırlar belirlenir. Eğer WHERE yapısı kullanılmaz veya unutulursa tüm tablodaki kayıtlar delete edilir.

SQL DELETE Örneği:
The “Kisiler” tablosu:

K_Id Soyad Ad 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
5 Tjessem Jakob Nissestien 67 Sandnes

Şimdi Kisiler tablosundaki “Tjessem, Jakob” kişisini update edelim.
Bunun için aşağıdaki sql cümlesi kullanılabilir.

1
2
3
 UPDATE Kisiler
 SET Adres='Nissestien 67', Sehir='Sandnes'
 WHERE Soyad='Tjessem' AND Ad='Jakob'

 

Yukarıdaki SQL cümlesi çalıştırıldıktan sonra tablonun yeni hali aşağıdaki gibi olur.

K_Id Soyad Ad 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

Tablodaki Tüm Satırları Silme:
Bir tabloyu silmeden tablodaki tüm verileri silmekte mümkündür.
Bunun için WHERE koşulu kullanılmadan aşağıdaki sorgu kullanılabilir.

1
 DELETE FROM Kisiler

 

NOT: Bu işlemi yaparken dikkatli olmak gerekir.
Gerçekleşmiş işlemin geri alması yapılamayabilir.