You are on page 1of 4

YBS206U-VERİTABANI SİSTEMLERİ

Ünite 6: Veri Sorgulama

4. WHERE
Giriş 5. GROUP BY
SQL (Yapılandırılmış Sorgu Dili) veri ile ilgili yapılacak 6. WITH CUBE or WITH ROLLUP
işlemleri tarif etmek için İngilizce dil yapısında 7. HAVING
geliştirilmiş bir bildirim dilidir (Declarative language). 8. SELECT
Diğer programlama dillerinden farklı olarak işlemleri 9. DISTINCT
değil sonuçları tarif eden bir yapısı vardır. Dolayısıyla 10. ORDER BY
veritabanı yönetim sistemi tarafından SQL komutları 11. TOP
çözümlenerek istenilen işlem yerine getirilir.
Select sorgusuyla elde edilen bir veri kümesinin yeni bir
İlişkisel veritabanı yönetim sistemlerinde tablolar hâlinde tablo olarak kaydedilmesi için FROM ifadesinden önce
depolanan verilere ulaşmak için SQL dilinin Veri INTO tablo_Adı ifadesi yazılmalıdır.
Sorgulama Dili (DQL- Data Query Language) komutları
kullanılmaktadır. Bu komutlardan biri olan SELECT Seçme sorgularında sıkça kullanılan ifadelerden birisi de
komutu, Verinin sadece okunması ile ilgilidir ve bu bir alandaki verilerin tekrarsız olarak görüntülenmesini
komutun çalışma prensibinin öğrenilmesi ilişkisel sağlayan DISTINCT ifadesidir.
veritabanı sistemlerinin anlaşılmasında en önemli adımdır. Seçme komutunun mantıksal işleme sırasının son iki
adımı olan ORDER BY ve TOP ifadeleri elde edilen veri
Seçme (Select) Komutu
kümesinin kullanıcı ya da istemci yazılıma iletilmeden
SELECT ifadesi ilişkisel veritabanı yönetim sistemlerinde önce sıralanmasını sağlar. SELECT komutunun son
veri kayıtlarını getirmek için kullanılan komuttur. kısmında yer alan ORDER BY ifadesinden sonra veri
SELECT komutu VTYS’nin en fazla kullanılan kümesinin istenilen alanlara göre sıralanması sağlanır. Bu
komutudur. Farklı tablolarda depolanan verinin noktada artan sıralama yapılacak alanların yanında
kullanıcıların ihtiyacına cevap verecek şekilde elde herhangi bir ifade eklenmesine gerek yokken, azalan
edilmesini sağlar. Genel yazım kuralı aşağıda verilen sıralamalarda DESC (DESCending: azalma) ifadesine yer
komutun köşeli parantez içerisinde belirtilen bölümleri verilmelidir. Sorgu ifadelerinde sıralama yapılacak
isteğe bağlı seçeneklerdir: alanların sonuç kümesinde bulunma zorunluluğu yoktur.
SELECT alan_listesi [INTO yeni_tablo] Bazı durumlarda da SELECT komutu ile elde edilen
[FROM tablo_kaynağı] verinin en üst satırlarının görüntülenmesi gerekebilir.
[WHERE seçme_koşulları] Örneğin en fazla satış yapılan on müşteri ya da en fazla
[GROUP BY gruplama ifadeleri] ciro yapılan ürün listesi elde edilmek istenebilir. VTYS
[HAVING Gruplanan_alan_kısıtlamaları] tüm veri hazırlama sürecini yerine getirdikten sonra en
[ORDER BY sıralama düzeni ASC DESC] son TOP kısmını işleyerek en üstte yer alan satırlar
görüntülenir ya da iletilir.
Seçme komutu İngilizce dil yapısına göre bir emir
cümlesidir ve seç fiili ile başlamaktadır. Yukarıdaki SQL komutlarının tek satır olarak yazılması zorunluluğu
Seçme sorgusunun yazım kuralında “Select alan_listesi” yoktur. Derleyici satır gözetmeksizin SELECT
dışında yer alan kısımlar zorunlu değildir. Çalışabilecek komutunun yazım kuralına göre ifadeleri dikkate alır.
en basit seçme sorgusuna örnek olarak “SELECT 'Hello Veri sorgulamasında kayıtların belirli ölçütlere göre
World'” verilebilir. FROM ile başlayan satır seçme sınırlanması ya da diğer bir ifadeyle tablolar içinde
işleminin hangi veri kümesinden yapılacağını belirtilir. Bu aranması için WHERE ifadesi kullanılır.
kısımda bir tablo, bir görünüm ya da bir alt sorgu yer
alabilir. WHERE satırı seçme işleminde görüntülenecek MS SQL Server VTYS’i yazılımında sıklıkla koşul
ya da hesaba katılacak satırların sınırlanması sağlanır. ifadeleri kullanılmaktadır (s:123, Tablo 6.1). Bu
Filtreleme işlemi gibi düşünülebilir. GROUP BY ifadesi operatörlerden CONTAINS ve FREETEXT ifadeleri uzun
verileri özetleme ya da gruplama işlemleri için metin verisi içeren alanlarda ilgili metin ifadelerinin
kullanılabilecek bir seçme sorgusu bölümüdür. HAVING bulunması için kullanılır. Arama yapılacak alanların daha
gruplanan ya da hesaplanan alanların sınırlanması için önce Full-Text Indeks olarak tanımlanması
kullanılan bir kısımdır ve WHERE kısmı ile gerekmektedir.
karıştırılmaması gerekir. ORDER BY sorgunun en Koşul operatörlerinden LIKE ile kullanılabilecek ifadeler
sonunda yer alan sıralama işlemidir. Eylem gereği de tüm aşağıda listelenmiştir:
seçme işlemi tamamlandıktan sonra verinin kullanıcıya
hangi sırada gönderileceği bu satıra yazılan komutlarla • %: Herhangi bir karakter dizisi ya da hiçbir
belirlenir. SELECT ifadesinin mantıksal işleme sırası metin için kullanılır. ‘A%’ ifadesi “A” ile
aşağıdaki gibidir: başlayan ya da sadece ‘A’ içeren alanları
sınırlayabilir.
1. FROM
• _ (Alt çizgi): Herhangi tek bir karakter. ‘_eri’
2. ON
ifadesi ilk harfi farklı olabilecek “Geri”, “Seri”
3. JOIN
gibi ifadeleri bulabilmektedir.

1
YBS206U-VERİTABANI SİSTEMLERİ
Ünite 6: Veri Sorgulama

• [ ]: Köşeli parantez aralığında tanımlanan harfler görüntülenmesini sağlar. Herhangi iki alanın
ile sınırlanmaktadır. ‘ [a-f] ‘ veya ‘[abcdef] ‘ eşleştirilmediği bağlantı türü çapraz (cross) bağlantıdır.
şeklinde yazılabilir. ‘[C-T]apa’ ifadesi ile İki tablonun eleman sayılarının çarpımı çapraz bağlantı
“Çapa”, “Sapa” gibi metinler sınırlanabilir. sonucu oluşan listenin satır sayısını verir. Çapraz tablo
• [^]: Belirtilen aralıkta karakter içermeyen bağlantısı şablon veri tablolarının üretilmesinde
metinler bulunur. ‘File[^1]%’ ifadesi içerisinde 1 kullanılabilmektedir.
olamayan ancak ‘File’ ile başlayan metinleri Çok sayıda tablonun birbirine bağlanması için farklı bir
bulabilecektir. bağlantı türü yoktur. JOIN komutu aynı yapıyla kullanılır
Koşul ifadelerinden AND birbirine bağlanan ifadelerin ancak ON kısmında birbiri ile ilişkili alanların doğru tarif
her ikisinin de gerçekleşmesini zorunlu kılar. OR ifadesi edilmesi gerekir. Tabloların bağlantılarının
ise koşullardan en az birinin yerine getirilmesi durumunda oluşturulmasında INNER JOIN yapısı kullanıldığından
ilgili satırı veri kümesine dahil eder. sıralamanın önemi yoktur. Önemli olan ON ifadelerinden
sonra hangi alanın hangi alanla bağlanacağının belirtildiği
Birden Fazla Tablodan Veri Seçimi eşitleme kısmıdır. Bu alanda bir hatanın olması elde
İlişkisel veritabanı yönetim sistemlerinde gerçek dünya edilen veri kümesinin hatalı olmasına neden olur.
varlıklarının tablolar şekilde gösterimi söz konusudur. Bu
Tabloların birbirine bağlanması ilişkili alanların eşlenerek
yapılarda sistem, verileri birbirine bağlı çok sayıda
bağlanan tabloda karşılığının aranması için kullanılır.
tablolar hâlinde organize edilir. Tablolar arasında farklı
Veri birleştirme ise birbiri ile aynı sayıda ve türde
ilişki türleri kurulabilmektedir. Veritabanı tasarımı
alanları olan veri kümelerinin alt alta birleştirilmesi,
esnasında tablolar ve aralarındaki ilişkilere karar
kesişim kümelerinin ve farklarının bulunması işlemidir.
verilmektedir. Ancak istenen veri kümelerini elde etme de
İki veya daha fazla veri kümesinin birleştirilmesi için veri
tablo yapılarını ve aralarındaki ilişki özelliklerini bilmek
kümelerinin aynı sayıda ve türde alanlarının olması
gerekmektedir.
gerekir. Veri kümeleri INTERSECT, EXCEPT, UNION,
Basit olarak iki tabloyu birbirine bağlamak için WHERE UNION ALL komutları ile birleştirilebilir.
komutu kullanılabilir (s:124, Tablo 6.2). Tabloları bir
Intersect, iki veya daha çok veri kümesindeki satırların
sorgu içerisinde birbiri ile bağlamanın en kolay ve yaygın
kesişiminin bulunmasında kullanılır. İki farklı sorgunun
yolu ise JOIN komutudur. JOIN komutu ile sadece iki
arasına INTERSECT ifadesi kullanılarak birleştirme
değil çok sayıda tablo birbirine bağlanabilmektedir.
gerçekleştirilir. Except ifadesi ile birleştirilen sorgular
Ayrıca farklı bağlanma türleri ile kullanıcıların istenilen
veri kümeleri arasındaki farkı listelemek için kullanılırlar.
veri kümelerini elde etmelerine olanak sağlar. Farklı JOIN
UNION ve UNION ALL komutları kümelerin birleşim
komutları olmasına karşı yazım kuralı genelde benzerdir.
kümelerini elde etmek için kullanılır. UNION ifadesi ile
FROM ifadesinden sonra bağlanacak tablo adlarının birleştirilmiş veri kümelerinde kesişim kümesi bir kez yer
arasında INNER JOIN ifadesi yer almakta ON alır. UNION ALL ile birleştirilmiş kümelerde ise herhangi
ifadesinden sonra da bağlantı eşitliği tanımlanmaktadır. bir işlem yapılmadan iki liste alt alta eklenir.
Bu kısımda farklı mantıksal ilişkilerle de tablolar
Tabloların birleştirilmesinde alan sayıları eşleşmediğinde
bağlanabilir. Birden fazla tablonun bulunduğu ya da içiçe
SQL Server “All queries combined using a UNION,
sorguların kullanılmasında tablo isimlerini uzun olarak
INTERSECT or EXCEPT operator must have an equal
yazmaktansa bunun yerine kısa takma adlar kullanılabilir
number of expressions in their target lists.” iletisi ile
(s:125, Tablo 6.3). Sorgu içerisinde tablo adlarından sonra
kullanıcıyı bilgilendirir. Yine benzer şekilde veri tipi
AS ifadesi kullanılarak takma bir adla ifade edilebilir.
uyuşmaması durumunda ise “Conversion failed when
Alan adları için de aynı durum söz konusudur.
converting the nvarchar value ‘One’ to data type tinyint.”
İki tablonun birbirine JOIN komutu ile bağlanmasında benzeri bir hata üretilir.
INNER, OUTTER ve CROSS olmak üzere üç farklı
seçenek bulunmaktadır. Inner bağlantı ile iki tablonun Gruplama ve Özetleme Sorguları
eşleşen alanlarının seçilmesi sağlanmaktadır. Diğer bir Veritabanı Yönetim Sistemlerinin önemli görevlerinden
ifadeyle kesişim kümesi seçilmektedir. Seçme işleminin biri kullanıcı isteklerine göre verilerin özetlenmesi ve
sonucunda her iki kümenin bağlantılı olduğu alandaki gruplanması işlemleridir. Bu sayede veri kümesi işlenerek
ortak değerlerin sayısı kadar satır görüntülenir. Outer mevcut sistem hakkında bilgi elde edilir. Veritabanı
bağlantıları soldan, sağdan ve tüm (full) şeklinde üç tablolarında özetleme ve gruplama işlemlerinde GROUP
farklı türden oluşmaktadır. LEFT OUTER JOIN BY komutu kullanılır. GROUP BY komutu bir veri
bağlantısı bu ifadenin solunda ve sağında kalan tabloların kümesinde belirlenen alanların içerdiği verinin tekrarsız
konumu baz alınarak soldaki tablonun tüm içeriğinin hâle getirerek özetlenmesidir (s: 130, Şekil 6.2).
görüntülenmesi sağlar. LEFT OUTER JOIN bağlantısının Gruplama işlemlerinde hangi alanın gruplanacağı ve hangi
tam tersi olan RIGHT OUTER JOIN ise ifadenin sağında alanının görüntüleneceğini belirlemek çok önemlidir. Bu
kalan tablodaki tüm değerlerin seçilmesini sağlar. FULL süreçte yapılan hatalar sorgunun çalışmamasına neden
OUTER JOIN ise her iki tabloda yer alan tüm satırların

2
YBS206U-VERİTABANI SİSTEMLERİ
Ünite 6: Veri Sorgulama

olacaktır. Gruplama işlemleri birden fazla tablo üzerinde işlevlerin çalışma prensibinin kavranması ve ihtiyaç
gerçekleştirilen sorgulamalarda da uygulanabilir. Seçme olduğunda ilgili yardım dosyalarına ulaşarak bu işlevleri
sorgularının mantıksal işleme sırasına göre GROUP BY etkin kullanmak bir veritabanı kullanıcısı ya da
işleminden önce tablolardan seçme işlemi ve varsa programcısı için oldukça önemlidir.
WHERE ile sınırlama işlemi uygulanır (s:132, Tablo 6.4).
Mantıksal işlevler: Mantıksal işlevler SELECT
Gruplama sorgularında sorgulamak istenen veri kümesi sorgularında alanların değerlerini belirli koşullara göre
GROUP BY ifadesinden sonraki alanlara göre farklı değerlere dönüştürürler.
gruplanırken diğer alanlar üzerinde de özetleme işlemleri
CHOOSE: İndeks değeri içeren bir değerin tanımlanan
gerçekleştirilir. Sayısal alanlar için sayma, toplama,
sıralı listede eşleştirerek karşı gelen elemanı görüntüler.
ortalama gibi matematiksel işlemler, metin türündeki
CHOOSE (İndeks,‘Seç1’,‘Seç2’, ……..,‘SeçN’) olarak
alanlar için ise sayma, en büyük ve en küçük değerlerin
yazılır.
alınması gibi işlemler özetleme işlevleri tarafından
gerçekleştirilir. IIF: Mantıksal bir karşılaştırma sonucu doğru ve yanlış
durumları için iki ayrı değer görüntüler. Bu mantıksal
Özetleme işlevleri olarak COUNT (sayma), SUM
işlev IIF(Mantıksal_ifade, Doğru_değer, Yanlış_Değer)
(toplama), AVG (ortalama), MIN (en küçük değer), MAX
şeklinde oluşturulur.
(en büyük değer), STDEV (standart sapma), VAR
(varyans) ifadeleri kullanılabilmektedir (s: 132, Tablo CASE: CASE komutu mantıksal işlevlerden farklı olarak
6.5). birden çok koşulun tanımlanmasına olanak sağlar. CASE
komutunun iki farklı yazım kuralı bulunmaktadır (s:136,
Özetleme işlevleri işlem yapılan alandaki NULL olmayan,
Tablo 6.7).
dolu olan alanlar için işlem yapmaktadır. İşlev adından
sonra açılacak parantez içinde alan adından önce Sayısal işlevler: Veritabanı tabloları üzerinde
DISTINCT ifadesi konursa tekrarsız satırlar için işlem gerçekleştirilecek sorgulamalarda gerekli olabilecek hazır
yapılmaktadır. AVG işlevi ile sayısal değerli alanların matematiksel işlevler bulunmaktadır (s: 137, Tablo 6.8).
ortalaması hesaplanmaktadır. Ancak bu ortalamaların Bu işlevler veri tablosunun bir alanı için kullanılabileceği
kesirli sayı olması gereken durumlarda dahi tam sayı gibi sabit bir değer verilerek de hesaplama yaptırılabilir.
değerli sonuçlar görülür. Bunun nedeni SQL Server’daki Ancak unutulmaması gereken bir konu seçme sorgusunun
özetleme işlevlerinin sonuç olarak üzerinde hesaplama alan listesinde yar alan bir işlem ya da değer seçimin tüm
yapılan alanın türünde veri geri döndürmelidirler. satırları için tekrar ettiğidir.
“Tinyint”, “smallint” ve int veri türleri int, bigint veri türü
Sayısal işlevlerden ABS, belirtilen değerin mutlak
bigint, float ve real veri türleri float türünde veri geri
değerini veren matematik işlevidir. SIGN, sayısal değerin
döndürürler. Ancak bu değerin kesirli sayı olarak
pozitif, negatif veya işaretsiz olduğunu döndürür. ASIN,
hesaplanması istenirse veri türlerinin dönüştürülmesinde
ACOS, ATAN, ATN2, belirtilen trigonometrik değerlerin
kullanılan Cast ve Convert komutları kullanılmalıdır.
radyan cinsinden açı değerini hesaplar. SIN, COS, TAN,
Cast ve Convert işlevleri Select sorgularında COT; radyan cinsinden belirtilen değerlerin trigonometrik
görüntülenecek değerlerin veri türünü değiştirmek için değerlerini hesaplar. RADIANS, derece cinsinden verilen
kullanılır. Tablolardaki alanların veri yapılarını kalıcı açı değerini radyan cinsine çevirir. DEGREES, radyan
olarak değiştirmek için veri tanımlama dilindeki ALTER cinsinden verilen açı değerini derece cinsine çevirir. PI, pi
komutu kullanılır. (π) katsayısını verir. CEILING, kesirli sayıları bir üst
tamsayıya yuvarlar. FLOOR, kesirli sayıları bir üst
Gruplama sorgularında özetlenen değerlerin belirli
tamsayıya yuvarlar. ROUND, belirtilen sayı ya da
koşullara göre sınırlaması için HAVING komutu
alandaki değeri istenilen basamağa yuvarlar. İlk değer
kullanılır. HAVING komutunun mantıksal işleme sırası
yuvarlanacak değer, ikini değer yuvarlanacak basamaktır.
Select ifadesinden önce Gruplama işlevinden sonra yer
EXP, LOG, LOG10, POWER; üssel ve logaritmik işlem
almasıdır. Dolayısıyla gruplama ve özetleme işlemi
yapan işlevlerdir. RAND, 0 ile 1 aralığında düzgün
tamamlandıktan sonra koşullara uymayan satırlar
dağılmış rassal sayı üretir. SQRT, belirtilen değerin
seçilmez. WHERE komutu ise gruplama işleminden önce
karekökünü hesaplar. SQUARE, belirtilen değerin
gerçekleştiği WHERE ile belirtilen koşullar Özetleme
karesini hesaplar.
işlemlerine dahil edilmezler.
Metin işlevleri: Metin türündeki alanların ya da değerlerin
SQL İşlevleri işlenmesine yönelik çok sayıda metin işlevi
SQL sorgularında çeşitli hesaplama ve mantıksal işlemleri bulunmaktadır (s: 138, Tablo 6.9).
gerçekleştirebilmek için işlevler bulunmaktadır. Microsoft
SQL Server Transact-SQL dili farklı işlemler için farklı Metin işlevlerden SUBSTRING, metin türündeki bir
türde işlevler sunmaktadır. değerin içerisinden belirli bir bölümün alınmasını
sağlayan işlevdir. PATINDEX, bir metin içerisinde belirli
Birçok programlama dilinde farklı yazım şekilleriyle bir metin ifadesinin arayarak ilk bulunduğu konum
benzer görevleri yerine getiren işlevler mevcuttur. Bu bilgisini döndürür. LEN, metindeki karakter sayısını

3
YBS206U-VERİTABANI SİSTEMLERİ
Ünite 6: Veri Sorgulama

döndürür. LEFT, RIGHT; metin türündeki bir alan ya da alandaki değerler başka bir sorgunun içerdiği değerlerle
değerin soldan (LEFT) veya sağdan (RIGHT) istenilen sınırlanabilir.
sayıda karakterin seçilmesini sağlar. REPLACE, bir metin
Kısıt olarak bir alt sorgunun kullanılmasında IN ve
içerisinde belirli bir metni bularak o istenilen metin ile
EXISTS sınırlama yapıları kullanılır. IN ile yapılan
değiştirir. CONCAT, bir veya daha fazla metin değeri
sınırlamalarda alt sorgunun sadece ilgili alanı kısıtlamak
birleştirir. REPLICATE, bir metnin değişkenin istenildiği
için veri türünde tek bir alan seçmelidir. Aksi durumda üst
kadar tekrarlanması için kullanılır. SPACE, istenilen
sorgu ilgili alanı hangi değerin içinde arayacağını
sayıda boşluk karakteri üretir. NCHAR Unicode karakter
bilemeyeceğinden hata mesajı oluşturacaktır. Böyle bir
tablosunun, CHAR ise ASCII kod tablosunun belirtilen
hatada kullanıcı “Only one expression can be specified in
rakama karşı gelen karakterini getirir. UNICODE bir
the select list when the subquery is not introduced with
karakterin Unicode, ASCII ise ASCII kod tablosundaki
EXISTS.” ifadesi ile uyarılacaktır.
kod karşılığını getirir. STR, sayısal bir değeri istenilen
hassasiyette metne çevirir. Alt sorgularla yapılan sınırlamalarda tek bir değer üreten
alt sorgular da kullanılabilmektedir.
Tarih işlevleri: Farklı kültürde aynı takvim kullanılsa da
tarih bilgilerinin yazılması konusunda farklılıklar Alt sorgular bir üst sorgunun alanları ile
bulunmaktadır. Bu nedenle veritabanı yönetim sınırlanabilmektedir. Biraz karmaşık bir durum gibi
sistemlerinde tarihin gösterilmesi, eklenmesi ile ilgili görünse de veri kümesi mantığı ile değerlendirildiğinde
problemleri ortadan kaldırmak için çeşitli işlev ve bu yöntemle istenilen veri kümelerine etkili bir şekilde
formatlar bulunmaktadır (s: 138, Tablo 6.10). ulaşılabildiği görülecektir.
Bilgisayarlarda tarih ve saat bilgileri aslında bir sayı
EXISTS komutu sorguya eklenen alt sorgu ile verilerin
olarak saklanır. Bu sayının tamsayı kısmı gün, ondalıklı
ilişkilendirilmesini sağlar. Alt sorguda yer alan
kısmı ise 24 saat 1 tamsayıya denk gelecek şekilde
müşterilerin üst listeden çıkarılması için EXISTS
depolanmaktadır.
ifadesinden önce NOT operatörünün kullanılması
Tarih işlevlerinden DATANAME, tarih veri türündeki bir önemlidir. EXISTS ile yapılan sınırlamalarda alt
değerin bir bölümünü isim olarak geri döndürür. sorgunun tüm alanlarının “*” sembolü ile seçildiğine
DATEPART, tarih veri türündeki bir değerin istenen dikkat edilmelidir. “*” ile tüm alanları seçilmeyen bir alt
bölümünün elde edilmesini sağlar. DAY, MONTH, sorgu EXISTS ile kullanılamaz.
YEAR; bu üç işlev sırasıyla bir tarih verisinin yıl, ay ve
Alt sorguların bir üst sorgunun tablosu, kısıtlayıcısı
gün bilgisini sayısal olarak geri döndürür.
olabileceği gibi herhangi bir değer olarak da üst sorgu
DATEFROMPARTS, yıl, ay ve gün bilgilerinin sayısal
tarafından kullanılabilmektedir.
olarak girildiği ve ilgili değerlerden tarih veri türünde
değişken döndüren bir işlevdir. DATEDIFF, iki tarih Bir sorgunun seçim kısmında yer alan alt sorgular ciddi
türündeki verinin arasındaki farkı istenilen tarih birimi performans kaybına neden olabilmektedir. Her satır için
olarak hesaplayan bir işlevdir. DATEADD, bir tarih çalıştırılan sorgunun gerçekleştirdiği işlem, üst sorgu ile
türündeki veriye istenilen tarih birimi olarak ekleme ilişkili olması ve sorgu sonucu oluşacak satır sayısı oluşan
işlemi gerçekleştiren işlevdir. ISDATE, bir metin performans kaybı ile doğrudan ilişkilidir.
türündeki verinin içeriğinin tarih bilgisi olup olmadığını
kontrol ederek pozitif durumda 1, negatif durumda 0
değerini döndüren işlevdir.
Alt Sorgular
Alt sorgu (subquery) bir seçme sorgusunun bir parçasını
oluşturan ve parantez içinde yazılmış SQL seçme
sorgusuna denilir. Alt sorgular bir üst sorguya bir değer
ya da bir tablo çıktısı verebilirler. Alt sorgu alanları ile üst
sorgu alanlarının birbiri ile ilişkilendirmek yoluyla da
seçme sorguları hazırlanabilmektedir.
Alt sorguların içinde de alt sorgu kullanılabilmektedir.
Hedef veri kümesine ulaşmak için çok sayıda iç içe sorgu
kullanılabilmekte ancak daha sonra bu sorguların
düzenlenmesinde zorluk ortaya çıkabilmektedir. Bu
nedenle çok karmaşık sorgular, birbirini izleyen
görünümler (view) olarak tasarlanabilmektedir.
Alt sorgular tablo olarak kullanılabileceği gibi sınırlayıcı
olarak da kullanılabilmektedir. WHERE komutu ile bir

You might also like