Kenan k?l??aslan

  • Baca Hesabı
  • Sürtünme Kaybı
  • Diferansiyel Denklem
  • Denklem Çözümü
SQL Server

Basit Seçme Sorguları

SQL dilinde seçme ve hesaplama SELECT deyimi ile yapılır.

SELECT 5+3

Genel ifade

SELECT ...1... FROM ...2... WHERE ...3...

1 nolu yere, listede bulunmasını istediğimiz kolon isimleri yazılır.

SELECT adi, soyadi, adresi, borcu,...

Eğer tabloda bulunan tüm kolonların bulunması istenirse * (yıldız) karakteri konur.

SELECT *, ...

2 nolu yere, sorgulanan tablonun adı yazılır.

SELECT * FROM tbl_Ogrenci

tbl_ogrenci isimli tablonun tüm kolonları listede bulunur.

3 nolu yere, seçme koşulu yazılır. Bu seçme koşulu ile listede bulunması istenen kayıtlar seçilir.

... WHERE adi='kenan' and soyadi='kılıçaslan'
... where borcu>1000 and grubu='A'
... where not (borcu>1000 and grubu='A')

ÖNEMLİ NOT : Sorguda kolon seçme, 1 nolu yere yazılan kolon isimleri ve matematik ifade ile, satır seçme ise 3 nolu yere yazılan mantıksal ifade ile olur.

Basit seçme sorgusu örnekleri

Sorgulayacağımız tablo, aşağıdaki kod ile oluşturulmuş olsun.

CREATE TABLE ogrenci (
	Okulno char(9) primary key not null,
	Adi varchar(20) not null,
	Soyadi varchar(20) not null,
	Adresi varchar(100),
	ilPlakaNo tinyint,
	Donem char(9),
	FakulteKodu char(3),
	BolumKodu char(2)
)

İlk önce bu tabloda bulunan tüm kayıtları listeleyelim.

SELECT * FROM Ogrenci

Where deyimi yazılmadığında tüm kayıtlar listelenir.

Soru

Öğrenci tablosunda okulno 07012 olan öğrencinin adı ve soyadını veren sorguyu yazınız.

Çözüm

SELECT adi, soyadi FROM Ogrenci where okulno='07012'
Soru

Öğrenci tablosunda 06060,07019,07022 nolu öğrencilerin adı,soyadı ve okulnosunu veren sorguyu yazınız.

Çözüm-1

SELECT adi, soyadi, okulno FROM ogrenci WHERE 
    okulno='06060' or okulno='07019' or okulno='07022'

Çözüm-2

SELECT adi, soyadi, okulno FROM ogrenci WHERE 
       okulno IN ('06060', '07019', '07022')

Ad ve soyad değerini birleştirerek çıktı alalım.

+ : string için birleştirme

SELECT adi+soyadi, okulno FROM ogrenci WHERE 
           okulno IN (’06060’, ’07019’, ’07022’)

Adi ve soyadi birleşti ancak kolon ismi çıkmadı. Kolona çıktıda isim vermek için AS kelimesi kullanılır.

SELECT adi+soyadi as ad_soyad, okulno 
         FROM ogrenci WHERE okulno 
         IN (’06060’, ’07019’, ’07022’)

Sorguda tablo isimlerini kolon isimleri yanına yazmak

Kolon isimleri, tablo isimleri ile beraber de yazılabilir.

SELECT ogrenci.adi+ ogrenci.soyadi as ad_soyad, 
     ogrenci.okulno 
     FROM ogrenci WHERE ogrenci.okulno 
     IN (’06060’, ’07019’, ’07022’)

Ancak bu uzun, karmaşık ve okunaksızdır. Okunaklı olması için tablo adına bir veya iki karakterlik ve sadece bu sorguda geçerli olan bir kısa isim verebiliriz.

SELECT o.adi+ o.soyadi as ad_soyad, o.okulno 
            FROM ogrenci o WHERE o.okulno 
              IN (’06060’, ’07019’, ’07022’)

Kısa isim olarak genellikte sorgulanan tablonun ilk harfi yazılır. Aynı harfle başlayan iki tablo birleştirilerek sorgulanıyorsa ilk iki karakter kullanılır.

Verileri sıralı listelemek

Verileri sıralı listelemek ORDER BY deyimi kullanılır.

SELECT ... FROM ... WHERE ... ORDER BY ..4..

4 nolu yere, sıralama yapılacak kolonun ismi yazılır.

... ORDER BY adi

adi kolonuna göre sıralı liste verir.

... ORDER BY soyadi, adi

Soyadına göre sıralama yapar, soyadı aynı olanları adına göre sıralar.

... ORDER BY adi DESC

Desc deyimi sıralamanın Z den A ya ya da büyükten küçüğe doğru olmasını sağlar.

beyaz_sayfa_en_alt_oval