murat335
New member
- Katılım
- 10 Eyl 2005
- Mesajlar
- 874
- Reaction score
- 0
- Puanları
- 0
- Yaş
- 43
SQL İfade ve Deyimleri
A) Select
Select ifadesi bir veya daha fazla tablodan veri getirmek için kullanılır. Çoklu tablolardan veri işini yapan Select ifadelerine "Join" (birleştirme) denir. Local SQL Select İfadelerinin aşağıdaki şekillerini desteklemektedir.
SELECT [DISTINCT] sütun_listesi
FROM tablo_adı
[WHERE arama_durumu]
[ORDER BY sıralama_listesi]
[GROUP BY grup_listesi]
[HAVING sahiplik_durumu]
[UNION secim_açıklaması]
(heterojen birleşmeler)
Aşağıda belirtilenler hariç bütün cümlecikler ANSI_standart SQL' ce kullanılır. [ ] içinde olanlar istenirse kullanılır.
A.1 Distinct Cümleciği
Kelime manası ayrı ,hariç,tek demektir. Deyim olarak aynı alandaki benzersiz olanları bulmayı ifade eder.
Aşağıdaki örnek şehir alanı ne olursa olsun tüm öğrencileri gösterir
Select ogr_sehir From Ogrenci
Aşağıdaki örnek ise sehirleri aynı oln öğrencilerin yalnız ilkini seçer.
Select DISTINCT ogr_sehir From Ogrenci
A.2 From Cümleciği
From cümleciği verinin getirileceği tablo veya tabloları belirtir . Tablo referansı tek bir tablo ,tabloların virgülle ayrıldığı bir liste veya iç/dış birleştirme (SQL -92 standartında belirtilen ) olabilir . Örneğin aşağıdaki ifade tek bir tabloyu çağırır :
Select ogr_ad,ogr_soyad From "Ogrenci.dbf"
Aşağıdaki ifade bir sol dış birleştirmesini gösteren tablo referansına bir örnektir.
Select From Parca left Outer join İthalat On Parca.Parca_no=Ithalat.Parca_no
A.3 Where Cümleciği
İsteğe bağlı olarak kullanılan Where cümleciği arama durumunda belirtilen kriterlere uyan kayıtların alınmasını böylece filtreleme yapılmasını sağlar.
Örneğin aşağıdaki ifade sadece Parca_nosu 543' den büyük olan satırları çağırır.
Select From Parca Where Parca_no>543
Where cümleciği IN yüklemini de içerebilir. IN yüklemi parantez ,içinde değerler listesini içerir. Örneğin aşağıdaki ifade sadece Parca_no 'su IN yüklem listesindeki öğelere eşit olan satırları çağırır.
Select From Parca Where Parca_no IN (543,544,650,680)
Select from Dersler Where bol_kod='12' and ogr_sinif='4'
Where cümleciğinde karşılaştırma için > ,<,=, <> gibi operatörler kullanılabilir. Bunun yanı sıra IN , ANY , ALL , EXIST yüklemleri de kullanılabilir
A.4 Order By
Order By cümleciği çağrılan satırların sırasını belirtir.
Örneğin aşağıdaki sorgu öğrenci ismine göre alfabetik(artan) sıralı olarak bütün öğrencilerin listesini verir
Select From Ogrenci Order By ogr_no ASC
aşağıdaki sorgu öğrenci soyadına göre alfabetik(azalan) sıralı olarak bütün öğrencilerin listesini verir.
Select From Ogrenci Order By ogr_soyad DESC
Hesaplanmış alanlar korelasyon( ilişki) ismine veya sıra durumuna göre sıralanabilir. Örneğin aşağıdaki sorguda ad ile soyad alanı birleştirilerek oluşturulan alana göre sıralanarak kayıtlar ekrana çağrılır.
Select soyad || ',' ad || as tam_ad ,telefon From müsteri Order by tam_ad
A.5 Group By
Group By cümleciği toplam fonksiyonları için çağrılan satırların nasıl gruplandırılacağını belirler.
Örnek:
Select Parca_no, Sum(miktar) as Toplam
From Parca
Group By Parca_no
A.6 Having
Having cümleciği kaydın sorguca belirlenen değerlere sahip olup olmadığına bakar. Group By ile birlikte kullanılır. Having cümleciğiyle denkleşmeyen gruplar sonuç kümesinden çıkarılırlar. Alt sorgular Having cümleciğince desteklenirler.
Alt sorgu ,ana sorguca döndürülecek kayıtların sayısını sınırlayan arama koşullarıdır. =,<,> gibi koşullandırmalar yanında IN ,ANY ,ALL, EXIST gibi ön yüklemler de kullanılabilir.
Bölümlere göre öğrenci sayıları 500 kişinin üstünde olan bölüm kodlarının listesini veren bir örnek aşağıdadır.
Select DISTINCT ogr_bol_kod, COUNT() From Ogrenci Group By ogr_bol_kod Having COUNT ()>500
A.7 Union
Union cümleciği iki veya daha fazla Select ifadesinin sonucundan tek bir tablo üretmek için kullanılır.
Örneğin :
Select From Ogrenci UNION Select From Veli
A.8 İntersect
Sorgulardan elde edilen ortak kayıtları verir.
Select From Ogrenci INTERSECT Select From Veli
A.9 Minus
Birinci sorguda bulunup ikinci sorguda bulunmayan kayıtların bulunmasında kullanılır.Diğer bir şekilde bir grup öğenin seçimden çıkarılması amacıyla kullanılır.
Select Ogr_num From Ogrenci MINUS (Select ali_ogr_num, From alınandersler)
A.10 Heterojen Birleşmeler
Local SQL farklı veri tabanlarındaki tabloların birleştirilmesini destekler. Heterojen birleştirme yapılacağı zaman yerel bir takma ad seçebilirsiniz. Takma ad seçmek için SQL/SELECT ALIAS 'ı seçin. Eğer Alias seçmezsen Local SQL tabloyu kullanılan veri tabanının olduğu aktif dizinde bulmaya çalışacaktır.
Örneğin ISLER Alias 'ı fonksiyonda geçen veri tabanı idaresi olabilir.
Yerel bir Alias seçtikten sonra bir tablo ismi belirtirsek
• Yerel tablolar için hem Alias' ı hem yolu belirtin
• Tabloları uzaktan kontrol için sadece Alias' ı belirtin
Aşağıdaki ifade Paradox tablosundan ve Dbase tablosundan veri getirir.
Select Distinct M.Müs_no,M.Sehir,S.Siparis_no From "MUSTERI.DB" M , "SIPARIS.DBF" Select Where M.Müs_no= S.Müs_no
B) Update
Ansi -Standard Update için belirtilen bir sınırlama yoktur.
Örneğin :
Update ULKETABLOSU Set baskent='Paris' Where ULKE='FRANSA' And baskent='Istanbul'
C) Delete
Ansi -Standard Delete için belirtilen bir sınırlama yoktur
Örneğin :
DELETE FROM TEZ9.DB WHERE SOYAD="ERTEM"
A) Select
Select ifadesi bir veya daha fazla tablodan veri getirmek için kullanılır. Çoklu tablolardan veri işini yapan Select ifadelerine "Join" (birleştirme) denir. Local SQL Select İfadelerinin aşağıdaki şekillerini desteklemektedir.
SELECT [DISTINCT] sütun_listesi
FROM tablo_adı
[WHERE arama_durumu]
[ORDER BY sıralama_listesi]
[GROUP BY grup_listesi]
[HAVING sahiplik_durumu]
[UNION secim_açıklaması]
(heterojen birleşmeler)
Aşağıda belirtilenler hariç bütün cümlecikler ANSI_standart SQL' ce kullanılır. [ ] içinde olanlar istenirse kullanılır.
A.1 Distinct Cümleciği
Kelime manası ayrı ,hariç,tek demektir. Deyim olarak aynı alandaki benzersiz olanları bulmayı ifade eder.
Aşağıdaki örnek şehir alanı ne olursa olsun tüm öğrencileri gösterir
Select ogr_sehir From Ogrenci
Aşağıdaki örnek ise sehirleri aynı oln öğrencilerin yalnız ilkini seçer.
Select DISTINCT ogr_sehir From Ogrenci
A.2 From Cümleciği
From cümleciği verinin getirileceği tablo veya tabloları belirtir . Tablo referansı tek bir tablo ,tabloların virgülle ayrıldığı bir liste veya iç/dış birleştirme (SQL -92 standartında belirtilen ) olabilir . Örneğin aşağıdaki ifade tek bir tabloyu çağırır :
Select ogr_ad,ogr_soyad From "Ogrenci.dbf"
Aşağıdaki ifade bir sol dış birleştirmesini gösteren tablo referansına bir örnektir.
Select From Parca left Outer join İthalat On Parca.Parca_no=Ithalat.Parca_no
A.3 Where Cümleciği
İsteğe bağlı olarak kullanılan Where cümleciği arama durumunda belirtilen kriterlere uyan kayıtların alınmasını böylece filtreleme yapılmasını sağlar.
Örneğin aşağıdaki ifade sadece Parca_nosu 543' den büyük olan satırları çağırır.
Select From Parca Where Parca_no>543
Where cümleciği IN yüklemini de içerebilir. IN yüklemi parantez ,içinde değerler listesini içerir. Örneğin aşağıdaki ifade sadece Parca_no 'su IN yüklem listesindeki öğelere eşit olan satırları çağırır.
Select From Parca Where Parca_no IN (543,544,650,680)
Select from Dersler Where bol_kod='12' and ogr_sinif='4'
Where cümleciğinde karşılaştırma için > ,<,=, <> gibi operatörler kullanılabilir. Bunun yanı sıra IN , ANY , ALL , EXIST yüklemleri de kullanılabilir
A.4 Order By
Order By cümleciği çağrılan satırların sırasını belirtir.
Örneğin aşağıdaki sorgu öğrenci ismine göre alfabetik(artan) sıralı olarak bütün öğrencilerin listesini verir
Select From Ogrenci Order By ogr_no ASC
aşağıdaki sorgu öğrenci soyadına göre alfabetik(azalan) sıralı olarak bütün öğrencilerin listesini verir.
Select From Ogrenci Order By ogr_soyad DESC
Hesaplanmış alanlar korelasyon( ilişki) ismine veya sıra durumuna göre sıralanabilir. Örneğin aşağıdaki sorguda ad ile soyad alanı birleştirilerek oluşturulan alana göre sıralanarak kayıtlar ekrana çağrılır.
Select soyad || ',' ad || as tam_ad ,telefon From müsteri Order by tam_ad
A.5 Group By
Group By cümleciği toplam fonksiyonları için çağrılan satırların nasıl gruplandırılacağını belirler.
Örnek:
Select Parca_no, Sum(miktar) as Toplam
From Parca
Group By Parca_no
A.6 Having
Having cümleciği kaydın sorguca belirlenen değerlere sahip olup olmadığına bakar. Group By ile birlikte kullanılır. Having cümleciğiyle denkleşmeyen gruplar sonuç kümesinden çıkarılırlar. Alt sorgular Having cümleciğince desteklenirler.
Alt sorgu ,ana sorguca döndürülecek kayıtların sayısını sınırlayan arama koşullarıdır. =,<,> gibi koşullandırmalar yanında IN ,ANY ,ALL, EXIST gibi ön yüklemler de kullanılabilir.
Bölümlere göre öğrenci sayıları 500 kişinin üstünde olan bölüm kodlarının listesini veren bir örnek aşağıdadır.
Select DISTINCT ogr_bol_kod, COUNT() From Ogrenci Group By ogr_bol_kod Having COUNT ()>500
A.7 Union
Union cümleciği iki veya daha fazla Select ifadesinin sonucundan tek bir tablo üretmek için kullanılır.
Örneğin :
Select From Ogrenci UNION Select From Veli
A.8 İntersect
Sorgulardan elde edilen ortak kayıtları verir.
Select From Ogrenci INTERSECT Select From Veli
A.9 Minus
Birinci sorguda bulunup ikinci sorguda bulunmayan kayıtların bulunmasında kullanılır.Diğer bir şekilde bir grup öğenin seçimden çıkarılması amacıyla kullanılır.
Select Ogr_num From Ogrenci MINUS (Select ali_ogr_num, From alınandersler)
A.10 Heterojen Birleşmeler
Local SQL farklı veri tabanlarındaki tabloların birleştirilmesini destekler. Heterojen birleştirme yapılacağı zaman yerel bir takma ad seçebilirsiniz. Takma ad seçmek için SQL/SELECT ALIAS 'ı seçin. Eğer Alias seçmezsen Local SQL tabloyu kullanılan veri tabanının olduğu aktif dizinde bulmaya çalışacaktır.
Örneğin ISLER Alias 'ı fonksiyonda geçen veri tabanı idaresi olabilir.
Yerel bir Alias seçtikten sonra bir tablo ismi belirtirsek
• Yerel tablolar için hem Alias' ı hem yolu belirtin
• Tabloları uzaktan kontrol için sadece Alias' ı belirtin
Aşağıdaki ifade Paradox tablosundan ve Dbase tablosundan veri getirir.
Select Distinct M.Müs_no,M.Sehir,S.Siparis_no From "MUSTERI.DB" M , "SIPARIS.DBF" Select Where M.Müs_no= S.Müs_no
B) Update
Ansi -Standard Update için belirtilen bir sınırlama yoktur.
Örneğin :
Update ULKETABLOSU Set baskent='Paris' Where ULKE='FRANSA' And baskent='Istanbul'
C) Delete
Ansi -Standard Delete için belirtilen bir sınırlama yoktur
Örneğin :
DELETE FROM TEZ9.DB WHERE SOYAD="ERTEM"