Lıke Joker Karakterler, Is [not] Null, Order By, Group By, As

LIKE (Joker Karakterler)

Joker karakterleri kullanarak bir veri sütunu veya ifadeler içinde desen arayabilirsiniz. Örneğin, soyadları "Ak" ile başlayan veya "kaya" ile biten tüm çalışanları arayabilirsiniz.

Joker Karakterler :

Metin dizeleri olarak işlem gören sütunları aramak için joker karakterleri kullanabilirsiniz. Veri türü karakter içeren sütunlar her zaman metin dizeleri; tarih, saat veri türü içerenler de metin dizeleri olarak işlem görebilir.

Desen aramak için, LIKE işlecini kullanın ve ardından arama dizesindeki bir veya daha çok karakterin yerine joker karakterleri koyun. Aşağıdaki joker karakterlerden birini kullanabilirsiniz:

% (yüzde simgesi):

İlgili konumda sıfır veya herhangi bir sayıda karakter

_ (alt çizgi)

İlgili konumda tek bir karakter

Örneğin, "Ak" ile başlayan tüm soyadları aramak için, arama koşulunu LIKE 'Ak%' biçiminde, "Tan" gibi bir adı bulmak için, arama koşulunu LIKE 'T_n' biçiminde belirleyebilirsiniz

Joker Karakterler Olarak Kullanılan Karakterleri Arama:


Bazı durumlarda, joker karakter olarak kullanılan karakterlerden birini içeren bir dizeyi aramanız gerekebilir. Örneğin, başlıklar tablosunda, başlığın parçası olarak "%10" dizesini içeren tüm yayınları bulmak isteyebilirsiniz. "%" karakteri aradığınız dizenin bir parçası olduğundan, bunu joker karakter olarak değil, hazır bilgi dizesi olarak kastettiğinizi belirtmelisiniz.

Joker karakter olarak yorumlanabilecek karakterleri aramak için bir çıkış karakteri belirleyebilirsiniz. Tam anlamıyla "%" veya "_" karakteri olarak kastettiğiniz karakterin önüne çıkış karakteri koyun. Çıkış karakterini belirlemek için, LIKE arama ölçütünden hemen sonra bir ESCAPE yan tümcesi ekleyin. Bunu Kılavuz bölmesinin Ölçüt sütununda veya SQL bölmesinde yapabilirsiniz.

Örneğin, "%10" dizesini içeren tüm başlıkları bulmak istediğinizi, "#" karakterini ise bir çıkış karakteri olarak tanımlamak istediğinizi varsayın, yani "#" karakterini "%" karakterinden önce koyacaksınız. Bunu Kılavuz bölmesinden girebilirsiniz:

LIKE '10%#%%' ESCAPE '#'

 

SQL deyiminde sonuç olarak gelen WHERE yan tümcesi aşağıdaki gibi olabilir:

WHERE title LIKE '%10#%%' ESCAPE '#'

  Çıkış karakterini yalnızca SQL bölmesinden tanımlayabilirsiniz.

 

Tarih Sütünlarını Arama:

Tarihzaman veri türünde sütunlarla çalışırken, ay kısaltmaları ve tam yıl biçimleri de dahil olmak üzere, tarih veya saat kısımlarının herhangi bir bölümünü arayabilirsiniz.

Örneğin, içindeki tarihin 1994 yılı olduğu tüm satırları aramak için aşağıdaki LIKE yan tümcesini kullanabilirsiniz:

LIKE '%1994%' 

Aşağıdaki yan tümce ise, yılı dikkate almaksızın, içindeki tarihin Ocak ayı olduğu tüm satırları arar:

LIKE 'Jan%'

 

Joker Arama Örnekleri:

Aşağıdaki örnekler joker karakter kullanımını göstermektedir.

Arama ifadesi Açıklama Örnek eşleştirmeler

LIKE 'Mac%'
                                                     

"Ak" ile başlayan değerleri bulur Ak
Akçaağaç
Akkale

LIKE 'J%n'
                                                     

"K" ile başlayan ve "n" ile biten değerleri bulur Kaan
Kenan
Karaman
Korutan

LIKE '%son'
                                                     

"Kaya" ile biten değerleri bulur Kaya
Gökkaya

LIKE '%sam%'
                                                     

Dizenin herhangi bir yerinde "çalı" sözcüğü geçen değerleri bulur Çalı
Çalıtepe
Akçalı

LIKE '%Mar%'
                                                     

Tarihzaman sütununda, yılı dikkate almaksızın, Mart ayına ait değerleri bulur 3/1/94
01 Mar 1992

LIKE '%1994%'
                                                     

Tarihzaman sütununda, 1994 yılına ait değerleri bulur. 12/1/94
01 Oca 1994

LIKE 'Mac_'
                                                     

Tamamı dört karakter olan, ilk üç karakteri "Ali" olan değerleri bulur Alim
Aliş

LIKE '_dam'
                                                     

Tamamı dört karakter olan ve son üç karakteri "nen" olan değerleri bulur İnen
Önen

LIKE '%s_n'
                                                     

Aralarında bir karakter ve öncesinde herhangi bir sayıda karakter olmak üzere, sonunda "t" ve "n" harfleri bulunan değerleri bulur Altın
Metin
Otan
tan

 

Is [Not] Null İfadesi :

Bir tablo içerisinde gerçekleştirilecek değişik sorgulama, silme ya da değişiklik işlemlerinde, belli bir veri alanının ya da veri alanlarının boş olmama durumunun belirtilmesini sağlar.

Bir ifadenin Null olup olmadığını kontrol etmek için ukllanılır. Prgramlama dillerinde genelde degisken = null şeklinde bir kontrol yapılabilirken Sql de bu ifade geçerli olmayacaktır. Bunun yerine “degisken is[not] null” şeklinde bir kullanım yapılabilir.

veri_alanı IS NOT NULL;

  Örnek :

KAMYON tablosundaki verilerden PLAKA isimli veri alanı boş olmayanların (bir değere, yani veriye sahip olanların) silinmesini sağlamak amacıyla

DELETE FROM KAMYON WHERE plaka IS NOT NULL

  diziliminin kullanılması yeterlidir.

 

NULL KARŞILAŞTIRMA


Bazen bir alana değer girilmiş olup olmadığını karşılaştırmak zorunda kalabiliriz. Örneğin, kitaplığımızda yer alan Kitapdan hangileri için yazar bilgileri girilmediğini bilmek isteriz.

NULL için karşılaştırma yaparken, IS NULL deyimi kullanılır. Boşluk olmayan alanlar için karşılaştırma yaparken ise IS NOT NULL deyimi kullanılır.

SELECT alanlar
FROM tablo_adi
WHERE alan_1 IS [NOT] NULL;

Örnek-28:


ISBN numarası olmayan kitapların listesi:

SELECT *

FROM  Kitap

WHERE ISBNNo IS NULL;
 

 

ORDER BY :

Sorgunun sonuç kayıtlarını belirtilen alan veya alanlara göre artan veya azalan sırada sıralar.

Uyarılar

ORDER BY isteğe bağlıdır. Ancak, kayıtların sıralanmış olarak görüntülenmesini istiyorsanız ORDER BY'ı kullanmalısınız.

Varsayılan sıralama düzeni artan düzendir (A'dan Z'ye, 0'dan 9'a). Aşağıdaki örneklerden her ikisi de, çalışan adlarını soyadına göre sıralar:

 

SELECT Soyady, Ady

FROM Çalışanlar

ORDER BY Soyady;

SELECT Soyady, Ady

FROM Çalışanlar

ORDER BY Soyady ASC;
 

 

Azalan sırada sıralamak için (Z'den A'ya, 9'dan 0'a), azalan sırada sıralamak istediğiniz her alanın sonuna DESC saklı sözcüğünü ekleyin. Aşağıdaki örnek maaşları seçer ve bunları azalan sırada sıralar:

 

SELECT Soyadı, Maaş

FROM Çalışanlar

ORDER BY Maaş DESC, Soyadı;
 

 

ORDER BY yan tümcesinde Not veya OLE Nesnesi verileri içeren bir alanı belirtirseniz bir hata oluşur. Microsoft Jet veritabanı alt yapısı bu bu türdeki alanları gruplandıramaz.

ORDER BY genellikle bir SQL deyimi nin son sözcüğüdür.

ORDER BY yan tümcesinde ek alanlar da bulundurabilirsiniz. Kayıtlar, ORDER BY'dan sonra listelenen ilk alana göre sıralanır. Bu alanda aynı değere sahip olan kayıtlar, listelenen ikinci alana göre sıralanır ve bu böylece devam eder.

ORDER BY Yan Tümcesi Örneği

Aşağıdaki örnekte gösterilen SQL deyimi, soyadlarını azalan sırada (Z-A) sıralamak için ORDER BY yan tümcesini kullanır.

Bu örnek, SELECT deyimi örneğinde bulabileceğiniz EnumFields yordamını çağırır.

Sub OrderByX()

    Dim dbs As Database, rst As Recordset

    ' Bu satyry, bilgisayarynyzdaki Northwind yolunu

    ' bulundurmak üzere değiştirin.

    Set dbs = OpenDatabase("Northwind.mdb")

    ' Çalışanlar tablosundan adı ve soyadı değerlerini

    ' seçer ve bunlary azalan syrada syralar.

    '

    Set rst = dbs.OpenRecordset("SELECT Soyady, " _

        & "Adı FROM Çalışanlar " _

        & "ORDER BY Soyady DESC;")

    

    ' Recordset'i başlatır.

    rst.MoveLast

    

    ' Recordset içeriklerini yazdırmak üzere EnumFields'i çağırır.

    EnumFields rst, 12

    dbs.Close

End Sub

 

GROUP BY :

DISTINCT anahtar sözcüğü sadece benzersiz satırları listelemek için kullanılırken, GROUP BY yan cümlesi belirtilen sütun yada sütunlardaki aynı değere sahip satırları tek bir satırda birleştirmeyi sağlar. GROUP BY genellikle toplam fonksiyonlarıyla (aggregate function) kullanılır. GROUP BY sorgularında kullanılan en yaygın toplama fonksiyonları MIN, MAX, SUM ve COUNT’dır.

GROUP BY ile belirtilen sütunlar SELECT ifadesinde de yer almalıdır.

 

Örnek: Aşağıda Sipariş Detayları(Order Details) tablosu productid alanına göre gruplandırılmış ve her grubun toplam sipariş miktarı hesaplanmıştır.

 

Sorgu:

USE Northwind

SELECT productid, SUM(quantity) AS ‘Total’

FROM [ORDER Details] GROUP BY productid ORDER BY productid

 

Örnek: Aşağıdaki örnekte sadece ürünkodu 2 olan kayıdın toplam miktarı hesaplanmıştır.

 

Sorgu:

USE Northwind
SELECT productid, SUM(quantity) AS
Total
FROM [ORDER Details] WHERE productid=2
GROUP BY productid ORDER BY productid

 

Kaynak:

http://office.microsoft.com/tr-tr/access/HP030839371055.aspx

http://www.verivizyon.com/kitapoku.asp?catid=81

Yorumunuzu Ekleyin


Yükleniyor...
Yükleniyor...