Konular

Sql Komutları

Dıstınct, ın, not ın, ınselect..., any, all, exısts, not exısts, unıon, except, between
DISTINCT(Farklı) Fonksiyonu:
Tablodaki seçilen fieldlerden bir adet seçer. Aynı değeri taşıyan diğer kayıtları eler.

Soru: Satış Tablosunda kaç farklı tarih te satış yapılmıştır?
Cevap: "Select DISTINCT (Tarih) from Satislar"

Count fonksiyonu DISTINCT ile birlikte kullanılabilir. Mesela.
Soru: Personel Tablosunda personellerin kaç farklı departmanda çalışmaktadır?
Cevap: "Select Count(DISTINCT depart) from personel"

IN:
Koşul belirtirken kullanırız. Mesela ismi AHMET, ALİ veya MUSTAFA olan işçilerin bilgilerini listelemek için

SELECT *
FROM ISCI
WHERE ISCI_ADI=’AHMET’ OR ISCI_ADI=’ALİ’ OR ISCI_ADI=’MUSTAFA’

şeklinde bir ifade kullanırız. Bunun yerine

SELECT *
FROM ISCI
WHERE ISCI_ADI IN (’AHMET’ ,’ALİ’ ,’MUSTAFA’)

ifadesini de kullanabiliriz. Yani listenin içindeki herhangi bir değerin bulunması kayıtın seçilmesi için yeterlidir.

NOT IN:
Soru: Personel Tablosunda bölüm kodu 3 ve 4 dışında ki personelleri listeleyin?
Cevap: "Select * from personel where bolum_kodu NOT IN(5,6,9)

BETWEEN:
BETWEEN ifadesini Where ile beraber kullanarak belli bir değer aralığındaki kayıtları getirebiliriz.
Soru: Ürün tablosunda Satış fiyatı 10000 ile 23000 arasında olan ürünleri listeleyin?
Cevap: "Select * from urun where S_Fiyat BETWEEN 10000 and 23000"

NOT BETWEEN:

Between ile belirtilen aralık dışında kalan verileri almak için NOT BETWEEN kullanılabilir.
Soru: Ürün tablosunda Satış departmanı 2 ile 6 arasında olmayan ürünleri listeleyin?
Cevap: "Select * from urun where depart NOT BETWEEN 2 and 6"

ANY (HER HANGİ BİRİ):

ÖRNEK: Satış bölümünde çalışan personelin her hangi birinden daha düşük maaş alan ve mühendislik bölümündeki kişileri listele.

SELECT *
FROM personel
WHERE brüt < ANY
(SELECT brüt
FROM personel
WHERE böl_no = 2) AND
böl_no =1;

Aynı ifade aşağıdaki gibi yazılabilir:

SELECT *
FROM personel
WHERE brüt < (SELECT MAX (brüt )
FROM personel
WHERE böl_no = 2) AND böl_no =1;

ALL (HEPSİ):
ÖRNEK: Satış bölümünde çalışan ve mühendislik bölümündeki personelin hepsinden daha fazla maaş alan personeli listele.Bu örnekte satış bölümü kodu = 2 ve mühendislik bölümü kodu = 1 alınmıştır.

SELECT *
FROM personel
WHERE brüt >
ALL (SELECT brüt
FROM personel
WHERE böl_no = 1)
AND böl_no = 2;

Aynı ifade aşağıdaki gibi yazılabilir:

SELECT *
FROM personel
WHERE brüt >
(SELECT MAX (brüt)
FROM personel
WHERE böl_no = 1)
AND böl_no =2;

EXISTS (MEVCUT):
ÖRNEK:
27 no’lu parçayı satan satıcılarla ilişkili tüm bilgileri listele.

SELECT *
FROM satıcı
WHERE EXISTS
(SELECT *
FROM par_sat
WHERE sat_no = satıcı_n
AND parça_n =27);

NOT EXISTS (MEVCUT DEĞİL):
ÖRNEK: 27 no’lu parçayı satmayan satıcılar kimlerdir?

SELECT *
FROM satıcı
WHERE NOT EXISTS
(SELECT *
FROM par_sat
WHERE sat_no = satıcı_n
AND parça_n =27);


EXCEPT (FARKLI):
Tablo-1 - Tablo-2 işlemi sonuç(iki kümenin farki) elde edilecek tabloda,Tablo-1’de bulunup, Tablo-2’de bulunmayan veriler mevcut olacaktir.
ÖRNEK: Satış bölümündeki personel adlarından,mühendislik bölümünde bulunmayanları listele.

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

UNION (BİRLEŞİM):
TANIM: İki ayrı SEÇ komutunun sonucunda elde edilen tabloların birleşimi işlemini gerçekleştirir.

ÖRNEK:
Adı Ahmet ve Soyadı Caner 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 =”Ahmet”AND soyad =”Caner”)
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 =”Ahmet”
AND soyad =”Caner”)

KOŞULLAR:

UNION (BİRLEŞİM) sözcüğü ile ,iki yada daha çok kişi 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.

Düzenleyen:Burak Kaya
Kaynak:SQL PDF & www.sorucevap.com
Yorumunuzu Ekleyin

Veritabanı Nedir?

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ğer kazanır. Bilgiye gerekli oldugu zaman ulaşabilmek esastır. Indeksi olmayan bir kütüphane ve bütün kitapların ayni kapağa sahip oldugunu düşündüğünüzde kütüphane kullanıcılarının ne kadar çok işi olacağını tahmin edersiniz. Bir veritabani bir kütüphanenin mükemmel bir indeks sistemi oldugu gibi, aynı zamanda kütüphanenin kendisidir. İlişkisel veritabanı yönetim sistemleri relational database management systems - rdbms büyük miktarlardaki verilerin güvenli bir şekilde tutulabildiği, bilgilere hızlı erişim imkanlarının saglandığı, bilgilerin bütünlük içerisinde tutulabildigi ve birden fazla kullanıcıya aynı anda bilgiye erişim imkanının sağlandığı programlardır. Oracle veritabani da bir ilişkisel veri tabanı yönetim sistemidir.

159,523 Okunma 5 Yorum 12/10/2009 18:59:51 14/05/2014 19:00:28

Sql Komutları

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

105,525 Okunma 8 Yorum 05/05/2008 12:04:24 08/06/2013 12:05:39

Veritabanı Nedir?

Veritabanının nedir? bileşenleri nelerdir?

52,397 Okunma Henüz yorum yapılmamış 18/01/2010 08:27:01 11/01/2019 21:01:33

Join İşlemleri

İ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.

37,786 Okunma 3 Yorum 12/05/2008 22:23:30 20/02/2015 22:23:40

Insert, Delete, Update

Insert, insert ile başka tablodan kayıt almak, delete, update

34,947 Okunma 1 Yorum 26/05/2008 03:36:52

View Oluşturma

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

34,015 Okunma 4 Yorum 28/04/2008 21:58:04

Sql Uygulaması

25,122 Okunma Henüz yorum yapılmamış 12/05/2008 11:28:43

Postgresqlin Özellikleri

Postgresql nedir?postgresqlin tarihçesi?postgresqlin özellikleri nelerdir?

24,548 Okunma 1 Yorum 19/10/2009 09:13:34

Joinler

Joinler, inner join, left join, right join

22,328 Okunma 1 Yorum 26/05/2008 11:41:45 20/02/2015 22:25:34

Yükleniyor...