En sık kullanılanlar
LIKE
DISTINCT
Count-AVG-SUM Order By
Order By
Min - Max
İÇİ İÇE SELECT KULLANIMI
Distinct
Like Komutu
SQL dilinde bir tablodan kayıtları çekerken ismi A ile başlayan soyadı B ile biten tarzında sorgulamalar
yapmak için LIKE komutu kullanılır.
SELECT * FROM tablo_adi WHERE alanadi1 LIKE
‘deger1%’;
SELECT * FROM tablo_adi WHERE alanadi1 LIKE
‘%deger1’;
Like Komutu
Like Komutu
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
SELECT * FROM Customers
WHERE CustomerName LIKE '%a';
SELECT * FROM Customers
SELECT * FROM Customers
WHERE CustomerName LIKE '%or%';
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
SELECT * FROM Customers
WHERE ContactName LIKE 'a%o';
SELECT * FROM Customers
WHERE CustomerName NOT LIKE 'a%';
Order By Komutu
Select deyimini kullanarak veritabanımızda bulunan tablolardaki verileri çekebiliyorduk. Normal şartlarda SELECT ile sorguladığımız veriler tabloya kaydedilme sırasına göre elde edilir. Fakat bu normal akışı ORDER sırasına göre elde edilir. Fakat bu normal akışı ORDER BY deyimi aracılığıyla değiştirebiliriz.
SELECT [alanlar] WHERE [şartlar] ORDER BY [sıralama alanı] ASC/DESC
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
Order By Komutu
SELECT * FROM Customers ORDER BY Country;
SELECT * FROM Customers ORDER BY Country DESC;
ORDER BY Country DESC;
SELECT * FROM Customers
ORDER BY Country, CustomerName;
SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;
Count-AVG-SUM Komutu
SQL dilinde bir tablodaki kayıtların toplam sayısını belirlemek için COUNT komutu kullanılır.
SQL dilinde bir tablodaki kayıtların toplam değerini belirlemek için SUM komutu kullanılır.
belirlemek için SUM komutu kullanılır.
SQL dilinde bir tablodaki kayıtların ortalamasını belirlemek için AVG komutu kullanılır.
Count-AVG-SUM Komutu
SELECT COUNT(column_name) FROM table_name
WHERE condition;
SELECT AVG(column_name)
SELECT AVG(column_name) FROM table_name
WHERE condition;
SELECT SUM(column_name) FROM table_name
WHERE condition;
Count-AVG-SUM Komutu
SELECT COUNT(ProductID) FROM Products;
SELECT AVG(Price) FROM Products;
FROM Products;
SELECT SUM(Price) FROM Products;
Min-Max Komutu
SELECT MIN(column_name) FROM table_name
WHERE condition;
SELECT MAX(column_name)
SELECT MAX(column_name) FROM table_name
WHERE condition;
Min-Max Komutu
SELECT MIN(Price) AS SmallestPrice FROM Products;
SELECT MAX(Price) AS LargestPrice FROM Products;
FROM Products;
İç içe select komutu
Bazen bir sorgunun içinde başka bir sorgu yer alabilir, bu gibi durumlarda iç içe select yapısını kullanabiliriz.
Alt sorgu = ifadesi ile karşılaştırılmışsa alt sorgudan dönen değer tek olmalıdır. Eğer birden fazla değer dönen değer tek olmalıdır. Eğer birden fazla değer dönüyorsa in veya not in kullanılmalıdır.
Bir sorgudan elde ettiğiniz sonucu, diğer bir sorgu için kullanmanız gerektiğinde, iç içe sorgu kullanmanız gerekir.
İç içe select komutu
İç içe select komutu
Öğrenci Tablosunda ali coşkun un bölümünde olan öğrencileri listeleyen soruguyu yazalım.
SELECT o.bolum FROM tbl_ogrenci o WHERE o.ad
='Ali' AND o.soyad='Coşkun'
='Ali' AND o.soyad='Coşkun'
SELECT * FROM tbl_ogrenci o WHERE o.bolum_id=1
SELECT * FROM tbl_ogrenci o WHERE o.bolum_id=
(SELECT o.bolum FROM tbl_ogrenci o WHERE o.ad
='Ali' AND o.soyad='Coşkun' )
İç içe select komutu
Bu veri tabanını temel alarak, dramatik filmlere ulaşmak, Tom Hanks’in filmlerine ulaşmak ya da adı “The” ile başlayan bilim kurgu filmlerine ulaşmak gibi birden fazla tabloyu ilgilendiren sorguları, alt sorgu kavramı ile yapabilirsiniz. Ya da JOIN
komutlarını kullanmalısınız.
İç içe select komutu
Tom Hanks – Yeşil Yol - Dram
Tom Hanks – Er Ryan’ı Kurtarmak – Dram
Mel Gibson – Cesur Yürek – Dram Natalie Portman – Thor – Aksiyon
Natalie Portman – Thor – Aksiyon
Natalie Portman – Seni Seviyorum New York – Komedi
İç içe select komutu
Tom Hanks’in oynadığı filmleri bulalım.
Türü dram olan filmlerin Adlarını ve IMDB Puanlarını listeleyelim.
Natalia Portman’ın oynadığı film sayısını bulalım.
Natalia Portman’ın oynadığı film sayısını bulalım.
IMDB Puanı, tüm filmlerin IMDB Puanlarının
ortalamasından büyük olan dram filmlerin adlarını, IMDB puanlarını ve tarihlerini listeleyelim.
Tom Hanks’in oynadığı dramatik filmlere bakalım.
Distinct Komutu
SQL dilinde bir tablodan tekrarlayan kayıtları yalnız bir sefer çekmek için DISTINCT komutu kullanılır.
SELECT DISTINCT alanadi1 FROM tablo_adi
SELECT DISTINCT alanadi1 FROM tablo_adi
Distinct Komutu
SELECT DISTINCT Country FROM Customers;
SELECT COUNT(DISTINCT Country) FROM Custome rs;
SELECT Count(*) AS DistinctCountries
SELECT Count(*) AS DistinctCountries
FROM (SELECT DISTINCT Country FROM Customers );