PAYLAŞ

SELECT Sorgusu

SELECT deyimini öğreneceğiz. SELECT deyimi veritabanındaki bir veya birden fazla tablodan veri almak için kullanılır. Örneğin web sitemizde veritabanında bulunan herhangi bir bilgiyi (mesela bir üyenin detaylı bilgilerini) sayfada göstermek istersek, ilgili tablo(lar)daki verileri SELECT deyimi ile alırız. Bu işleme sorgulama denir.

SELECTdeyimine geçmeden öncelikle bir tablo oluşturalım. Cünki tabloları başta oluşturmak önemli. Sebebi ise veri tabanına ekleyeceğiniz verilerin türleri ve veri tabanın alanı ilerideki zamanlarda bizim performans kaygımızı artırabilir.

örneğin bir tablo oluşturduk ve iller bölümüne 200 çar girdik bunun yerine en uzun ilin karakter saysını bilmem ve buna göre hareket etmek daha mantıklı olacaktır. Haydi gelin öncelikle ufak bir tablo ekleyelim ve onun üzerinden dersimize devam edelim.

İlk Sorguyu Oluşturmak

Şimdi isci isimli tabloyu oluşturalım:

 

isci
ID INTEGER
ad VARCHAR(20)
soyad VARCHAR(20)
cinsiyet CHAR(1)
dyeri  VARCHAR(20)
dtarihi DATE
departman  VARCHAR(20)
calismazamani INTEGER
kangurubu  VARCHAR(4)
servisguzergahı  VARCHAR(20)

SELECT deyiminin yapısı şu şekildedir:

SELECT [alanlar] FROM [tablo adı]

SELECT ad, soyad, dtarihi FROM isci

Bu sorgu, isci tablosundaki ad, soyad ve dtarihi alanlarındaki verileri getirir. Dolayısıyla bu sorgunun sonucunda şu verileri elde ederiz:

ad soyad dtarihi
turgut altuntaş 1982
ali cansın 1977
can kirazcı 1965
Sevda arhavi 1980

eki personel tablosundaki bütün alanlardaki verileri elde etmek istersek? Tabloda bulunan bütün alanları virgülle ayırarak yazabiliriz. Fakat bunun daha kolay bir yolu var:

SELECT * FROM isci 

SELECT’ten sonra yazdığımız * ifadesi tabloda bulunan bütün alanları seçmemizi sağlar. Dolayısıyla bu sorgunun sonucunda tablodaki bütün verileri elde etmiş oluruz.

QL komutları ve ifadelerinin (SELECT, FROM vs.) büyük ya da küçük harfle yazılması önemli değildir. Genelde okunurluğunu artırmak için büyük harflerle yazılmaktadır.

SELECT ve FROM ifadeleri bir SELECT sorgusu için gerekli olan ifadelerdir:

  • FROM : sorgunun veriyi getireceği tabloların listesi,
  • SELECT : gelen verilerin listelenmesini sağlar.

WHERE ifadesi

WHERE bir sorguda hangi kayıtların (satır) döneceği üzerinde etkisi vardır. Kayıtları filtreleme imkanı sağlayan bir şart ifadesinin yazılmasını sağlar. WHERE ifadesinden sonra sağlanan şart doğru veya yanlış olabilir. Bazı durumlarda bu şartlar bilinmeyen (NULL) sonuç üretebilir, SQL bu tür durumlarda da problemsiz çalışır. Aşağıdaki örnekte öncelik dogumyeri SİVAS olan İŞÇİ LİSTESİ listeler:

SELECT *
FROM isci
WHERE dogumyeri = 'sivas';

Karşılaştırma İfadeleri

Karşılaştırılan değerlerden birincisi ikincisine :

  • eşit olabilir: =
  • farklı olabilir: <>
  • küçük olabilir: <
  • küçük veya eşit olabilir : <=
  • büyük olabilir: >
  • büyük veya eşit olabilir: >=

Mantıksal Operatörler

AND (VE): Her iki taraf da True ise True, tek taraf False ise sonuç getiremez. Null değerler Null sonucunu verir.

SELECT *
FROM isci
WHERE dogumyeri = 'sivas' AND  cinsiyet = 'E';

Sivas’lı ve erkek işçilerin listesini verir.
(sadece sivas’lılar ve erkekler gelmez)

OR (VEYA):Her iki taraf da False ise False,diğer durumlarda True değerini verir. Null değerler Null sonucunu verir.

SELECT *
FROM isci
WHERE dogumyeri = 'sivas' OR cinsiyet = 'E';

Sivaslı kadın ve erkeler gelir ayrıya tabloya erkek olan herkes de gelir.

NOT (ZIT ):Sonuç değerini tersine çevirir.Sonuç True ise False,False ise True sonucunu verir. Null değerler Null sonucunu verir.

SELECT *
FROM isci
WHERE NOT(dogumyeri = 'sivas' AND ; cinsiyet = 'E');

Tabloda çartı sağlayanlar haricindeki tüm kişiler gelir. Bir nevi Bunlar hariç herkes demek gibidir.

BİR CEVAP BIRAK