Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanEmine Apak Değiştirilmiş 6 yıl önce
1
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
HAFTA 2 © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
2
SELECT… SELECT [DISTINCT][ALL] FROM Tablo_Adi [WHERE Kosul]
[GROUP BY Kosul] [HAVING Kosul] [UNION Kosul] [ ORDER BY Alanlar [ASC] [DESC]]
3
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
OPERATÖRLER Mantıksal Operatörler: İki ya da daha fazla ifade arasında mantıksal sorgu yapmak için kullanılır. () işlemleri gruplandırma işleminde ve öncelik belirlemek için kullanılır AND (VE) her iki ifadenin doğru olması durumunda yapılacak işlem. OR (VEYA) ifadelerden biri doğrunun doğru olması yeterlidir anlamına gelir. NOT (DEĞİL) ifadenin yanlış olması durumunda yapılması beklenen işlem gerçekleşir. Karşılaştırma Operatörleri: >= Büyük veya eşit <= Küçük veya eşit = Eşit <> Eşit degil != Eşit degil © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
4
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
SELECT use Northwind SELECT [UrunID] ,[UrunAdi],[BirimdekiMiktar] ,[BirimFiyati] ,[Sonlandi] FROM Urunler WHERE [BirimFiyati]<>10 ORDER BY [BirimFiyati] FROM Urunler WHERE [BirimFiyati]<=10 ORDER BY [BirimFiyati] © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
5
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
SELECT AS: Başlıkların alan adları dışında bir isimle görüntülenmesi için AS anahtar kelimesi kullanılır. DISTINCT :çok aynı satırdan varsa veriler tekrar ediyorsa ve yalnızca bir tanesi listelenmesi isteniliyorsa SELECT deyimi DISTINCT anahtar kelimesi ile kullanılır. Between-And Operatörü İki değer arasında kalanları seçme işleminde kullanılır. © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
6
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
ÖRNEK SELECT DISTINCT [MusteriUnvani],[Adres],[Sehir],[Bolge] FROM [Musteriler] SELECT DISTINCT [MusteriUnvani] FROM [Musteriler] SELECT *FROM Urunler WHERE [BirimFiyati] BETWEEN 10 AND 50 ORDER BY [BirimFiyati] © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
7
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
SELECT IN IN Operatörü Tüm liste içindeki değerlerden belirli kriterlere uyan verileri karşılaştırma yapmak için kullanılır. use Northwind SELECT * FROM [Musteriler] WHERE Sehir IN ('Berlin','Madrid','London') Ayrıca alt sorgu birden fazla sonuç döndürüyor ise IN deyimi sorguları birbirine bağlar. © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
8
SQL KARAKTER FONKSİYONLARI
LEFT (metin, n) : Metnin baştan n karakterini alır. SELECT *, left(Urunadi,5) as Urun_kısa FROM Urunler ORDER BY [BirimFiyati] LOWER(metin): Metni küçük harflere çevirir. REVERSE(metin):Metni ters çevirir. RIGHT(METİN,N):Metnin sonundan n karakter alır. SUBSTRING(metin, basla,adet): Metnin basla ile verilen harfinden itibaren adet kadar verilen harfini verir. SELECT *, substring (Urunadi,3,9) as Urun_kısa FROM Urunler ORDER BY [BirimFiyati] UPPER(metin): Metni BÜYÜK harfe dönüştürür. © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
9
SQL TARİH FONKSİYONLARI
GETDATE():Sistemin anlık tarihini verir. CONVERT(VARCHAR, Tarih,Kod):Tarih formatını çevirmek için kullanılır. Karaktere çevirdikten sonra, örneğin 103 numaralı kod gg/aa/yy 104 numaralı gg.aa.yy şeklinde yazımı sağlar. Dönüşüm yapıldıktan sonra Sorgularda kullanılabilir select [satistarihi], convert(varchar(16),[satistarihi],103) as Yeni_tarih from Satislar select [satistarihi] from Satislar WHERE convert(varchar(16),[satistarihi],103) ='01/08/1996' DAY(Tarih): Verilen tarihin sadece gün kısmını alır. MONTH(Tarih): Verilen tarihin sadece ay kısmını alır. YEAR(Tarih): Verilen tarihin sadece yıl kısmını alır. © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
10
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
IN KULLANIMINDA SORGU use Northwind SELECT * FROM Urunler WHERE [BirimFiyati] IN (SELECT MIN([BirimFiyati]) FROM Urunler GROUP BY [KategoriID]) © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
11
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
TOP ve TOP PERCENT TOP Sorgu sonucunda ilk kaç kaydın görüntüleneceğini belirtir. SIRALAMA KRİTERİNİZ SONUCU BELİRLER SELECT TOP 10 * FROM Urunler ORDER BY [BirimFiyati] SELECT TOP 10 * FROM Urunler ORDER BY 1 TOP PERCENT Satırların belli bir yüzdesini veren Top n PERCENT yan tümcesi de kullanılabilir. SELECT TOP 50 PERCENT * FROM Urunler ORDER BY 1 ifadesi, Urunler tablosundaki bütün satırların ilk yüzde ellisini görüntüler. © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
12
GRUPLAMA FONKSİYONLARI
Gruplama (aggregate) fonksiyonları bir dizi değer üzerinde hesaplama yaparlar ve bir sonuç değer döndürürler. Toplama ya da gruplama fonksiyonları olarak adlandırabileceğimiz bu fonksiyonlar genellikle GROUP BY deyimi ile kullanılırlar. Gruplama fonksiyonları aşağıdaki ifadeler içinde kullanılabilirler. ransact-SQL programlama dilinde şu aggregate fonksiyonları kullanılır: AVG: ortalama değer COUNT: kayıt sayısı MAX: en büyük değer MIN:en küçük değer SUM:toplam değer STDEV:standart sapma © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
13
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
SELECT GruplamaFonksiyonu(kolon1), kolon2 FROM tablo GROUP BY kolon2 © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
14
GRUPLAMA FONKSİYONLAR…HAVING
Kümeleme fonksiyonlarını kullanırken kısıt girilmesi gerektiğinde WHERE yantümcesini kullanamayız. HAVING yantümcesi, GROUP BY ile elde edilecek satırları kısıtlamak için kullanılır. İşlev olarak WHERE yantümcesi gibi çalışır fakat WHERE yantümcesi gruplama işlemlerinden önce, HAVING yantümcesi ise GROUP BY'dan sonra uygulanır © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
15
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Örnekler SELECT [KategoriID],AVG ([BirimFiyati]) FROM Urunler GROUP BY [KategoriID] SELECT [KategoriID],AVG ([BirimFiyati]) FROM Urunler GROUP BY [KategoriID] HAVING [KategoriID]=3 SELECT [KategoriID],AVG ([BirimFiyati]) FROM Urunler GROUP BY [KategoriID] HAVING AVG(BirimFiyati)>=30 © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
16
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Örnekler SELECT [KategoriID],COUNT (*) AS Kayit_Sayisi FROM Urunler GROUP BY [KategoriID] SELECT [KategoriID],COUNT (*) AS Kayit_Sayisi FROM Urunler GROUP BY [KategoriID] HAVING COUNT(*)>=10 -- Her kategoride Fiyatı 10 liradan fazla olan kaç tane ürün var SELECT [KategoriID],COUNT (*) AS Kayit_Sayisi FROM Urunler WHERE BirimFiyati>=10 GROUP BY [KategoriID] © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
17
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
JOIN Inner Join Inner Join işlemi ile birleştirilecek olan tabloların sütunlarının içerdiği veriler kontrol edilerek kesişim kümesi alınıyor. Aynı işlem “where” komutu kullanılarak da gerçekleştirilebilir. Inner join yerine join yazmak da yeterlidir. Kullanımı: SELECT kolon_ad(lar)ı FROM tablo_1 INNER JOIN tablo_2 ON tablo_1.ortak_kolon=tablo_2.ortak_kolon ; © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
18
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
SELECT u.[KategoriID], [KategoriAdi] ,[UrunAdi], ([BirimFiyati]) FROM Urunler u INNER JOIN [Kategoriler] k ON k.[KategoriID]= u.[KategoriID] SELECT * FROM Urunler u,[Kategoriler] k WHERE k.[KategoriID]= u.[KategoriID] © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
19
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
JOIN VE GROUP BY SELECT u.[KategoriID], [KategoriAdi] ,[UrunAdi], AVG([BirimFiyati]) FROM Urunler u INNER JOIN [Kategoriler] k ON k.[KategoriID]= u.[KategoriID] GROUP BY u.[KategoriID], [KategoriAdi] ,[UrunAdi] © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.