Konular
EBooklar

Sql komutlarından DISTINCT, IN, NOT IN, IN(SELECT...), ANY, ALL, EXISTS, NOT EXISTS, UNION, EXCEPT, BETWEEN kullanımı

Sql Komutları

DISTINCT

Veritabanımızda oluşturduğumuz tablonun içinde birbirinin aynı veriler bulunabilir.
Bu verilerden aynı olanların listeleme esnasında bir kez yazılması için Distinct sözcüğü kullanılır


Örnek:

12 ATB sınıfında adı Burak olan öğrencilerden sıralamada ilk gelen gösterilir.
 

SELECT DISTINCT ad
FROM 12atb;

  komutunu kullanınca aşağıdaki ekran gelir.

SQL komutları

 

IN

“IN” İngilizce'de de olduğu gibi içinde anlamına gelmektedir.
Veri tabanımızda sahip olduğumuz verilerden sadece istediklerimize IN sözcüğüyle ulaşabiliriz.

ÖRNEK:

12 ATB sınıfında numarası 13,20,24 olan öğrenciler kimdir?

 

SELECT *
FROM 12atb
WHERE no IN (13, 20, 24);

 

Ekran görüntüsü

SQL komutları


NOT IN
 

NOT IN, IN deyiminin tam tersidir. Veri tabanımızda sahip olduğumuz verilerden istemediklerimizi NOT IN sözcüğüyle belirtiriz.


ÖRNEK:

12 ATB sınıfında numarası 13,20,24 olmayan öğrenciler kimdir?
 

SELECT *
FROM 12atb
WHERE no NOT IN (13, 20, 24);

 
Ekran görüntüsü

SQL komutları

 


BETWEEN

İngilizde'de de olduğu gibi arasında anlamına gelir Veri tabanımızda belirttiğimiz aralıklarla ilişki kurulmasını sağlar.

ÖRNEK:

12ATB sınıfında numarası 10 ile 25 arasında olan öğrencilerin soyadları?
 

SELECT *
FROM 12atb
WHERE no BETWEEN 10
AND 25;

 
Ekran görüntüsü

SQL komutları

 

IN(SELECT...)


IN SELECT komutunda içteki Select komutunun bulduğu sonuca IN komutunu uygulamamız için kullanılır.


ÖRNEK:

Kadıköyde’te oturan öğrencinin çalıştığı projelerin adlarını ve yerlerini listeleme.

 

SELECT proj_ad,yer
FROM proje
WHERE proj_no IN
(SELECT proje_no
FROM ogrenci,çalışma
WHERE sosy_g_no = per_s_g_no
AND adres LIKE '%kadiköy%');

 

 

 

ANY

İngilizce'de de herhangi biri anlamına gelen any komutu sql komutumuzda da herhangi biri anlamını taşır.

ÖRNEK:

Makine bölümünde çalışan ogrencinin her hangi birinden daha düşük not alan ve elektronik bölümündeki bulunan ogrencileri listele.
Bu örnekte; makine bölümü kodu = 2 ve elektronik bölümü kodu = 1 alınmıştır.

 

SELECT * FROM ogrenci
WHERE NOT < ANY
(SELECT NOT FROM ogrenci
WHERE böl_no = 2) AND böl_no =1;

 
 
Ekran görüntüsü
Sql Komutları
 

 

ALL

İngilizce'de de hepsi anlamına gelen ALL komutu sql komutumuzda da hepsi anlamını taşır.

ÖRNEK:

Elektronik bölümünde çalışan ve makine bölümündeki ogrencilerin hepsinden daha fazla not alan ogrencileri listele.
Bu örnekte Makine bölümü kodu = 2 ve Elektronik bölümü kodu = 1 alınmıştır.
 

SELECT * FROM ogrenci
WHERE NOT >
ALL (SELECT NOT
FROM ogrenci
WHERE bolum_no = 1)
AND bolum_no = 2;

 
Ekran görüntüsü
Sql Komutları
 



EXISTS


Mevcut anlamına gelir. AND,OR,NOT operatörleri ile kullanılabilir.

ÖRNEK:

Mandalina satan pazarcılarla ilişkili tüm bilgileri listele.
 

SELECT *
FROM pazarci
WHERE EXISTS
(SELECT *
FROM mey_sat
WHERE sat_no = pazarci_n
AND meyve =mandalina);

 

 

NOT EXISTS


Mevcut değil anlamına gelir. AND,OR,NOT operatörleri ile kullanılabilir.
 

ÖRNEK:

Mandalina satmayan pazarcılarla ilişkili tüm bilgileri listele.

 

SELECT *
FROM pazarci
WHERE NOT EXISTS
(SELECT *
FROM mey_sat
WHERE sat_no = pazarci_n
AND meyve =mandalina);

 


UNION

 


İki ayrı SELECT komutunun sonucunda elde edilen tabloların birleşimi işlemini gerçekleştirir.

ÖRNEK:

Adı Sadullah ve Soyadı Abdurrahman olan kişi yada kişileri işletmenin yürüttüğü projelerde çalışan bir kişi (sıradan bir personel yada bölüm yöneticisi)olarak bulunduran projelerin isimlerini ve projelerin yürütüldüğü yerleri listele.

 

(SELECT proj_ad,yer
FROM proj,bölüm,personel
WHERE bl_no=bölüm_no AND
y_sos gno = sosy_g_no
AND ad ='Sadullah'
AND soyad ='Abdurrahman')
UNION (SELECT proj_ad,yer
FROM proje,çalışma,personel
WHERE proj_no = proje_no AND
Per_s_g_no = sosy_g_no AND ad ='Sadullah'
AND soyad ='Abdurrahman')

 


KOŞULLAR:

UNION  ile birden fazla SELECT ’in sonucu olan tabloların küme birleşimi işlemine tabi tutulması için 2 koşul gereklidir.
    1) SELECT komutları sonucunda elde edilecek tablolar aynı sayıda kolon içermelidirler.
    2)Sonuç tabloları karşılıklı olarak kolonların aynı veri tipi ve aynı genişlikte olmalıdır.

 

 

EXCEPT


Birden fazla tabloda birinde olup diğerinde olmayan şeklindeki bağıntıları kurmamız için kullandığımız komuttur..

ÖRNEK:

Metal bölümündeki ogrenci adlarından,tesviye bölümünde bulunmayanları listele.

 

SELECT * FROM
(SELECT ad FROM ogrenci
WHERE bol_no=1
EXCEPT
SELECT ad FROM ogrenci
WHERE bol_no =2);

 

Ekran görüntüsü

Sql Komutları

Burak TAŞ

Kaynak :

 

Yorumunuzu Ekleyin


Yorumlar

  1. özkan
    paylaşımlarınız gerçekten işe yarar. saolun
    22 Ocak 2013 14:03:30, Salı Like
  2. leyla
    SELECT FROM 12atb WHERE no BETWEEN 10 AND 25; bu 10 ile 25 arasinda olmayanlardir ,olanlar yox
    23 Nisan 2013 08:45:57, Salı Like
  3. Ali
    Ali
    no öğrenci numarası olarak kullanılmış hayır anlamınsa değil
    13 Mayıs 2013 14:08:50, Pazartesi Like
  4. hamdi
    sadece SELECT komutunu da açıklasaydınız eyi olurdu. :D
    15 Ocak 2014 00:13:27, Çarşamba Like
  5. T@H@
    Tesekur ederim ben progrAmlAma öğrencisiyim çok işime yaradı sağolun
    23 Ocak 2014 21:23:30, Perşembe Like
  6. Salih
    www.sqlkodlari.com sitesi, sql kodlarının kullanımı konusunda Türkçe açıklamalı ve örnekli güzel bir site.. tavsiye ederim.
    25 Haziran 2014 18:32:27, Çarşamba Like
  7. yusuf
    BAŞAKŞEHİR İLÇESİ / BAŞAKŞEHİR MAHALLESİ BUNU BAŞAKŞEHİR İLÇESİ BAŞAKŞEHİR MAHALLESİ OLARAK MSSQL KODU İLE NASIL YAZABİLİRİM.YARDIMCI OLURSANIZ SEVİNİRİM.
    23 Eylül 2014 20:50:12, Salı Like
  8. Ciko
    Tabi canım paylaşımlar gerçekten işe yarar. Sqğol Admin
    24 Haziran 2015 14:39:44, Çarşamba Like
  • Veritabanı Nedir?
  • Veritabanı Nedir? ~ 71,586

    Veritabanı basit olarak bilgi depolayan bir yazılımdır. Bir çok yazılım bilgi depolayabilir ama aradaki fark, veritabanın bu bilgiyi verimli ve hizli bir şekilde yönetip degiştirebilmesidir. Veritabanı, bilgi sisteminin kalbidir ve etkili kullanmakla değe...












  • Join İşlemleri
  • Join İşlemleri ~ 24,801

    İlişkisel veritabanının en temelinde birden fazla tablo üstünde birlikte işlem yapabilmek yatar. Bu sayede verilerin tekrarlaması önlenmiş olur ve sonuçta veri yönetimi kolaylaşır.


  • View Oluşturma ~ 23,902

    Sql komutlarından view oluşturma ve faydaları, myadminde gösterimi









  • Sql Komutları ~ 17,026

    Dıstınct, ın, not ın, ınselect..., any, all, exısts, not exısts, unıon, except, between










  • Joinler
  • Joinler ~ 14,002

    Joinler, inner join, left join, right join