SQL KOMUTLARI
SQL KOMUTLARI
Bu videomda temel sql komutları ile nasıl select sorguları oluşturabileceğimizi ve sql komutlarının çalışma sırasını anlattım. Aşağıdaki veritabanı tasarımına göre bütün sorguları test ettim.
SQL Sorgusu Komut Çalıştırma Sırası
SQL Komutları sırasıyla aşağıdaki gibi çalışır.
- FROM = Hangi tabloda işlem yapacağımızı belirtir.
- JOIN = Birden fazla tabloyu birleştirir.
- WHERE = Filtreleme yapar.
- GROUP BY = Eğer sorguda aggregate functions varsa o aggregate functions'a göre gruplayarak sorguyu çalıştırır.
- HAVING = Eğer sorguda aggregate functions varsa o aggregate functions'a göre filtreleme ve hesaplama yapar.
- SELECT = Yazılan sorgunun çıktısını gösterir.
- DISTINCT = Yazılan sorguda tekrarlayan kayıtları eleyerek göstermeye yarar.
- ORDER BY = Yazılan sorgunun sonucunu sıralayarak (küçükten büyüğe / büyükten küçüğe) göstermeye yarar.
Şimdi bu komutları ve daha fazlasının açıklamasını ve kullanımını gösterelim.
Birden Fazla Tabloyu Birleştirme Yöntemleri
JOIN
- INNER JOIN= İki tablo arasında eşleşen kayıtları getirir.
- FULL OUTER JOIN= İki tablodaki bütün kayıtları getirir.
- LEFT JOIN= Birinci tablodaki bütün kayıtları ve ikinci tablodaki sadece eşleşen kayıtları getirir.
- RIGHT JOIN= İkinci tablodaki bütün kayıtları ve birinci tablodaki sadece eşleşen kayıtları getirir.
SELECT * FROM muzisyenler INNER JOIN menajerler ON muzisyenler.muzisyen_menajerID=menajerler.menajer_ID
SELECT * FROM muzisyenler FULL OUTER JOIN menajerler ON muzisyenler.muzisyen_menajerID=menajerler.menajer_ID
SELECT * FROM muzisyenler LEFT JOIN menajerler ON muzisyenler.muzisyen_menajerID=menajerler.menajer_ID
SELECT * FROM muzisyenler RIGHT JOIN menajerler ON muzisyenler.muzisyen_menajerID=menajerler.menajer_ID SUBQUERY
Bir sorgunun içinde parantez içinde yazılmış başka bir sorgudur. Alt sorgu önce çalışır ve sonucu dış sorgu tarafından kullanılır. Bu konuyu İlişkisel cebir ve SQL çözüm 1 ve İlişkisel cebir ve SQL çözüm 2 isimli içeriklerimde bol bol kullandım şimdilik aşağıya bir örnek kullanım yazdım. Bu alt sorgunun sonucu menajeri olan müzisyenleri döndürür.
SELECT menajer_ad FROM menajerler WHERE menajer_ID IN(SELECT muzisyen_menajerID FROM muzisyenler)UNION / INTERSECT / EXCEPT
- UNION= İki tablodaki bütün kayıtları birleştirir.
- INTERSECT= İki tablodaki kesişen bütün kayıtları birleştir.
- EXCEPT= İki tablo arasındaki farkı alır.
SELECT menajer_ID FROM menajerler
UNION
SELECT muzisyen_menajerID FROM muzisyenler
SELECT menajer_ID FROM menajerler
INTERSECT
SELECT muzisyen_menajerID FROM muzisyenler
SELECT menajer_ID FROM menajerler
EXCEPT
SELECT muzisyen_menajerID FROM muzisyenlerAggregate Functions
Aggregate functions (topluluk fonksiyonları), SQL'de bir grup veriyi özetlemek veya hesaplamak için kullanılan fonksiyonlardır. Genellikle GROUP BY ifadesiyle birlikte kullanılırlar, ancak tek başlarına da çalışabilirler. HAVING ile beraber kullanılırsa filtrelemek için, HAVING olmadan SELECT'in yanında kullanılırsa hesaplama için kullanılır. Aggregate Functions uygulayacağınız sütunun veri tipi sayısal veri tipi olmalıdır örneğin char ile tanımlanmış bir sütunda hesaplama yapılamaz.
- COUNT= Tablodaki belirlenen sütunun kayıt sayısını hesaplar.
- SUM= Tablodaki belirlenen sütunun toplamını hesaplar.
- AVG= Tablodaki belirlenen sütunun ortalamasını hesaplar.
- MIN= Tablodaki belirlenen sütunun en küçük değerini hesaplar.
- MAX= Tablodaki belirlenen sütunun en büyük değerini hesaplar
SELECT COUNT (muzisyen_yas) FROM muzisyenler
SELECT SUM (muzisyen_yas) FROM muzisyenler
SELECT AVG (muzisyen_yas) FROM muzisyenler
SELECT MIN (muzisyen_yas) FROM muzisyenler
SELECT MAX (muzisyen_yas) FROM muzisyenler