SQL Select Clause

Written by Super User. Posted in Diger

Ufak bir hatırlatma ile 2. anlatıma geçelim;

SELECT clause - Bulup getirilecek tablo sütunlarını belirtir.

FROM clause - Erişilecek tabloları belirtir.

WHERE clause - Tablolardaki hangi satırların kullanılacağını belirtir.

SELECT clause

SELECT clause kullanılması gereklidir. FROM clause'da belirtilen tablolardan, hangi sütunların bulup getirileceği listesini belirtir. Genel formatı;

SELECT [ALL | DISTINCT] select-list

select-list virgüllerle ayrılmış bir şekilde sütun isimleri belirten listedir. ALL ve DISTINCT belirteçlerinin kullanımı isteğe bağlıdır. DISTINCT çoğul satırların atılacağını belirtir. Varsayılan olan, çoğul satırların korunduğu ALL belirtecidir.

Örnek olarak;

SELECT descr , color FROM p;

select-list ' te kullanılan sütun ismi, tablo ismiyle birleştirilerek daha da özelleştirilebilir. Bu aynı sütun ismine sahip tablolarda kullanılmalıdır.

SELECT p.descr, p.color FROM p;

select-list ' teki bir sütun, sütun ismini takip eden yeni bir isim ile yeniden adlandırılabilir. Örnek olarak;

SELECT name supplier , city location FROM s;

Bunun sonucunda aşağıdaki tablo ortaya çıkar.

supplierlocation
Pierre Paris
John London
Mario Rome

select-list bazen expressions içerebilir.

'*' içeren özel bir select-list FROM clausedaki bütün tabloların bütün sütunlarına istekte bulunur. Örnek olarak,

SELECT * FROM sp;
snopnoqty
S1 P1 NULL
S2 P1 200
S3 P1 1000
S3 P2 200

'*' limitleyicisi tablo ismiyle bağlı bir şekilde kullanılırsa sadece tek bir tabloda bulunan sütunları getirecektir.

SELECT sp.* FROM sp;

Bu sorgu önceki sorguyla aynı sonucu üretecektir.

Herhangi bir tablo ismine bağlanmamış bir '*' diğer select-list öğeleri ile birlikte kullanılamaz. Bununla beraber bir tablo ismiyle bağlı olduğu zaman, select-list öğeleri ile kullanılabilir.

SELECT sp.* , city

FROM sp, s

WHERE sp.sno = s.sno;
snopnoqtycity
S1 P1 NULL Paris
S2 P1 200 London
S3 P1 1000 Rome
S3 P2 200 Rome

Not : Bu bir 2 tablonun birleştirilmesi (join) örneğidir.

firstsql.com 'dan tarafımca çevrilmiştir.