0% found this document useful (0 votes)
4 views3 pages

SQL05

Uploaded by

kmltykmlty
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views3 pages

SQL05

Uploaded by

kmltykmlty
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SQL Ders 5: Basit Sorgulamalar & Koşul İfadeleri BPR205 Veritabanı

Yönetim. Sis. II

Bu Derste Öğrenecekleriniz:
1. Basit Sorgulamalar
2. Koşul İfadeleri

1. Basit Sorgulamalar
SQL dilinin temel amacı sorgulamalardır. Zaten ismi de Structured Query Language – Yapısal Sorgu Dili dir.

Bir tabladan en basit haliyle sorgulama yapmak istersek aşağıdaki kod kullanılır.

SELECT * FROM ÖĞRENCİLER

Bu kod ile koşulsuz olarak öğrenciler tablosundaki tüm kayıtlar istenir. Sorgulamalar için SELECT kullanılır.
Burada * tüm alanlar anlamına gelmektedir. FROM ise hangi tablo veya tablolardan sorgulama yapılacağını
gösterir. FROM dan sonra gelen tablo isimleri kaynak tablolar olacaktır. Eğer sadece istediğimiz alanları
sorgulamak istesek o zaman aşağıdaki gibi kod yazabiliriz.

SELECT NUMARA, ADI, SOYADI FROM ÖĞRENCİLER

Sorgulanmak istenen alanlar kaynak tablo ismi

Bu sorgulama ile öğrenciler tablosundan numara, adı ve soyadı alanları sorgulanacaktır.

Örneğin öğrenciler tablosundan öğrencilerin sadece memleketlerini sorgulamak istesek aşağıdaki gibi bir
kod yazabiliriz.
SELECT ŞEHİR FROM ÖĞRENCİLER

Fakat bu kod ile bir şehir birden fazla kez görüntülene bilecek. Örneğin memleketi BARTIN olan 20 öğrenci
varsa BARTIN tabloda 20 defa görünecektir. Her şehrin bir defa görüntülenmesi istiyorsak DISTINCT anahtar
sözcüğü kullanılır. Aşağıdaki kod bir tablodan alanları benzersiz olarak seçmek istediğimizde kullanılır.

SELECT DISTINCT ŞEHİR FROM ÖĞRENCİLER

Sorgulanacak BENZERSİZ alan

Bir tablonun başından sadece belirli bir sayıda kayıt sorgulamak TOP sayı anahtar sözcüğü kullanılır. belirli
bir oranda kayıt sorgulamak için ise TOP sayı PERCENT kullanılır. Aşağıdaki birinci kod ile öğrenciler
tablosundan ilk 10 kayıt getirilecektir. İkinci kod ile de öğrenciler tablosundan toplam kayıtların yüzde 20’si
getirilecektir.

1) SELECT TOP 10 * FROM ÖĞRENCİLER -- kayıtlardan ilk 10 tanesi gelir


2) SELECT TOP 20 PERCENT * FROM ÖĞRENCİLER -- toplam kayıtlardan ilk yüzde 20’si gelir

Tablolardaki toplam kayıt sayısını getirmek için COUNT anahtar sözcüğü kullanılır. Aşağıdaki birinci kod ile
öğrenciler tablosundaki toplam kayıt sayısı, ikinci kod ile de tabloda kaç farklı şehir isminin olduğunun
sayısını getirir.
1) SELECT COUNT(*) FROM ÖĞRENCİLER
2) SELECT COUNT(DISTINCT ŞEHİR) FROM ÖĞRENCİLER

Bartın MYO – Öğr. Gör. Bayram AKGÜL 1


SQL Ders 5: Basit Sorgulamalar & Koşul İfadeleri BPR205 Veritabanı
Yönetim. Sis. II

Tablolardaki bir alanın toplamını getirmek için SUM anahtar sözcüğü kullanılır. Aşağıdaki birinci kod ile
SINAV tablosundaki puanların toplamını, ikinci kod ile de tablodaki farklı puanların toplamını getirir.

1) SELECT SUM(PUAN) FROM SINAV


2) SELECT SUM(DISTINCT PUAN) FROM SINAV

Tablolardaki bir alanın ortalamasını almak için AVG anahtar sözcüğü kullanılır. Aşağıdaki birinci kod ile
SINAV tablosundaki puanların ortalamasını, ikinci kod ile de tablodaki farklı puanların ortalamasını getirir.

1) SELECT AVG(PUAN) FROM SINAV


2) SELECT AVG(DISTINCT PUAN) FROM SINAV

Bir tablodaki alanın en büyük ve en küçük değerlerini sorgulamak için MAX ve MIN anahtar sözcükleri
kullanılır. Aşağıdaki birinci kod ile SINAV tablosundaki puanların en büyüğü, ikinci kod ile de tablodaki
puanlardan en küçüğü sorgulanacaktır.

1) SELECT MAX(PUAN) FROM SINAV


2) SELECT MIN(PUAN) FROM SINAV

2. Koşul İfadeleri
Eğer koşullu bir sorgulama yapacaksak WHERE anahtar sözcüğü kullanırız.

SELECT ADI, SOYADI FROM ÖĞRENCİLER WHERE NUMARA = 123

Sorgulanacak alanlar kaynak tablo ismi koşul ifadesi

Karşılaştırma Operatörleri
=, >, <, >=, <=, <> (eşit değil)

Örnek: SELECT * FROM ÖĞRENCİLER WHERE [DOĞUM TARİHİ] > '01-01-1990'

Koşul ifadelerinde kullanılan Mantıksal operatörler.

AND : SELECT * FROM ÖĞRENCİLER WHERE ADI = 'ALİ' AND SOYADI = 'KARA'
Adı ‘Ali’ ve soyadı ‘kara’ olanları seçecek.

OR : SELECT * FROM ÖĞRENCİLER WHERE ADI = 'ALİ' OR SOYADI = 'KARA'


Adı ‘Ali’ veya soyadı ‘kara’ olanları seçecek.

BETWEEN : SELECT * FROM ÖĞRENCİLER WHERE NUMARA BETWEEN 104 AND 120
Numarası 104 ile 120 arasında olanları seçecek.

SELECT * FROM ÖĞRENCİLER WHERE [DOĞUM TARİHİ] BETWEEN '01-01-1990' AND '01-01-1998'
Doğum tarihi belirtilen aralıklarda olanları seçer.

Belirtilen aralıkların haricinde seçim yapmak için NOT BETWEEN kullanılır.

SELECT * FROM ÖĞRENCİLER WHERE NUMARA NOT BETWEEN 104 AND 120
Numarası 104 ile 120 arasında olmayanları seçecek.

SELECT * FROM ÖĞRENCİLER WHERE [DOĞUM TARİHİ] NOT BETWEEN '01-01-1990' AND '01-01-1998'
Doğum tarihi belirtilen aralığın dışında olanları seçer.

Bartın MYO – Öğr. Gör. Bayram AKGÜL 2


SQL Ders 5: Basit Sorgulamalar & Koşul İfadeleri BPR205 Veritabanı
Yönetim. Sis. II

IN : SELECT * FROM ÖĞRENCİLER WHERE ŞEHİR IN ('BARTIN', 'KARABÜK', 'ZONGULDAK')


Bir alanın belirtilen kümenin içinden seçer. Öğrenciler tablosundan şehir alanlarının belirtilenler arasında
olanları seçer.
Belirtilenler haricinde olanları seçmek için NOT IN kullanılır.
SELECT * FROM ÖĞRENCİLER WHERE ŞEHİR NOT IN ('BARTIN', 'KARABÜK', 'ZONGULDAK')

LIKE : SELECT * FROM ÖĞRENCİLER WHERE ADI LIKE 'ALİ%'


İsmi Ali ile başlayan kayıtları seçer.

LIKE ile kullanılan joker karakterler ve anlamları


%: herhangi bir yazı yerine geçer.

Örneğin: SELECT * FROM ÖĞRENCİLER WHERE ADI LIKE '%ALİ%' denince isminin her hangi bir yerinde ali
geçen tüm kayıtlar seçilir. Ali, Alim, Mehmet Ali, Ali Can, Vali, … kelimeleri bu koşulu sağlar.

_ (Alt çizgi): Bir tek karakter yerine geçer.

Örneğin: SELECT * FROM BÖLÜMLER WHERE [BÖLÜM KODU] LIKE 'BPR_' denince bölüm kodu BPR1 de
seçilir, BPR2 de seçilir.

İkinci bir örnek: SELECT * FROM ÖĞRENCİLER WHERE ADI LIKE '_ean' denince Sean, Dean … bu şartı sağlar.

[ ] : Belirtilen alan veya kümeden bir tek karakter seçerek yerine koyar. [a-f] denilince seçilecek karafter
a,b,c,d,e,f harflerinden biri olacak. [abcdefk] denilince de belirtilen harflerden biri olacak.

Örneğin: SELECT * FROM ÖĞRENCİLER WHERE SOYADI LIKE '[C-P]arsen' denince soyadı ‘arsen’ ile
bitip baş harfi c-p aralığından seçilecek. Carsen, Larsen, Karsen gibi olanlar seçilir.

[ ^] : Belirtilen karakterlerden veya karakter kümesinden olmayacak şekilde bir tek harf yerine kullanılır.
[^a-f] veya [^abcdef] denince belirtilen karakter a,b,c,d,e,f harflerinden biri olmayacak.

Örneğin: SELECT * FROM ÖĞRENCİLER WHERE SOYADI LIKE 'de[^a-c]%' denince soyadı de ile başlayan
ancak üçüncü harfi a,b,c harflerinden biri olmayanları seçer.

SELECT * FROM ÖĞRENCİLER WHERE ADI NOT LIKE '%ALİ%' NOT LIKE, işlemi tersine çevirir. Bu örnekte
isminin içinde ali geçmeyenleri seçecek.

Not: %, _ (alt çizgi), ve [ ] (köşeli parantez)in özel anlamları olduğu için yazı içinde
özellikle onları kullanmak için aşağıda verilen örnekler deki gibi yöntemler uygulanır.

Sembol Anlamı Sembol Anlamı


LIKE '5[%]' 5% LIKE '[ [ ]' [
LIKE '[_]n' _n LIKE ']' ]
LIKE '[a-cdf]' a, b, c, d, or f LIKE 'abc[_]d%' abc_d , abc_de
LIKE '[-acdf]' -, a, c, d, or f LIKE 'abc[def]' abcd, abce, abcf

IS [NOT] NULL : SELECT * FROM ÖĞRENCİLER WHERE TELEFON IS NULL


Öğrenciler tablosundan telefon alanı null bırakılmış (girilmemiş) olanları seçer.

Telefon alanı boş bırakılmamış olanları seçmek için IS NOT NULL kullanılır.
SELECT * FROM ÖĞRENCİLER WHERE TELEFON IS NOT NULL

Bartın MYO – Öğr. Gör. Bayram AKGÜL 3

You might also like