SQL Hazir Kod Örnekleri( Where, Like,Null,Group By,Order By,Join,Altsorgu,İN)

1 yorum
SQL KOD ÖRNEKLERİ

SELECT * FROM Ogrenciler
-- yukarıdaki kod ile tüm kolonlar listelenir
-- iki tire işareti remark anlamına gelir açıklama satırları bu şekilde girilir



SELECT Adi, Soyadi FROM Ogrenciler
SELECT Soyadi, Adi  FROM Ogrenciler
-- Yukarıda ise öğrenciler tablosundan adı ve soyadı fieldları alınır.

SELECT * FROM Ogrenciler WHERE Adi = 'Burcu'
--Sorguya koşul yazmak istersem WHERE ifadesini kullanırım
--varchar tanımlı alanlar için ve tarih tanımlı alanlar tek tırnak içinde içinde sorgulanır.integer yani tamsayılar ise ' olamdan sorgulanır.
--Sorgular f5 tuşu ya da Execute butonu ile çalışır.


SELECT * FROM Ogrenciler  WHERE Ogrencinumarasi = 60202009

SELECT * FROM Ogrenciler  WHERE Adi LIKE '%li%'
--Yukarıdaki sorgu adında 'li' harf öbeği geçen kayırları listeler

SELECT * FROM Ogrenciler  WHERE Adi LIKE '_li'

SELECT * FROM Ogrenciler  WHERE Adi LIKE '_li%'
--Yukarıdaki kod örneğinde ise ilkinde ali,eli gibi sonuçlar dönebilir yani ilk harf ne olursa olsun önemli değil ama 3 harfli ve 2. 3. harfleri li olan kayıtlar listelenir.% işareti ise sağdan kaç harf olucağını önemsemez.

SELECT * FROM Ogrenciler  WHERE Adi LIKE '__li%'
-- Yukarıdaki sorgu içerisinde li harf öbeği olsun.
-- li nin solunda 2 karakter olsun
--sağında ne olup olmadığı çok önemli değil

SELECT * FROM Ogrenciler  WHERE Adi LIKE '__li'

SELECT COUNT(*) FROM Ogrenciler
--Count yani Adet verir

SELECT COUNT(*) FROM Ogrenciler   WHERE OgrenciNumarasi IS NOT NULL

SELECT COUNT(*) FROM Ogrenciler   WHERE OgrenciNumarasi IS NULL
--Yukarıdaki örnekte ise ogrennciNumarasi alani null yani boş olmayan kayıtları getirir.

SELECT COUNT(*) FROM Ogrenciler    WHERE Adi LIKE 'A%'
--Adı A ile başlayan kayıtlar döner.

SELECT * FROM Ogrenciler    WHERE Adi='alper'

SELECT * FROM Ogrenciler    WHERE Cinsiyeti=0


SELECT COUNT(Cinsiyeti) AS Adet,Cinsiyeti  FROM Ogrenciler
GROUP BY Cinsiyeti
--field adını değiştirmek için As kullanırım.
--Count komutu ile field ın adı kaybolur
--as ile isimlendirmekte fayda var.

SELECT * FROM Ogrenciler ORDER BY OgrenciNumarasi
-- Order by Sıralamayı sağlar
--order'da hiç birşey yazmazsak default olan ASC dir

SELECT * FROM Ogrenciler
ORDER BY OgrenciNumarasi ASC

SELECT * FROM Ogrenciler
ORDER BY OgrenciNumarasi DESC
-- Order by desc tersten Sıralamayı sağlar

SELECT * FROM Ogrenciler
ORDER BY Adi , Soyadi
--iki field a göre sıralama yapabilmek mümkündür.
SELECT Adi ,COUNT(Adi)  AS Adet FROM Ogrenciler
GROUP BY Adi

-- JOIN : iki veya daha fazla tablodan
-- ilişkisel veri sorgulamya yatar


SELECT Ogrenciler.Adi , Ogrenciler.Soyadi , City.City
FROM Ogrenciler INNER JOIN City ON City.CityId =Ogrenciler.CityId
-- Ogrencilerin CityID sini göstermek işime yaramaz
-- fakat İl bilgisi işime yarar.
-- amacım iki tablo arasında ilişki tanımlayarak
--veriyi getirmek.
-- iki tarafta da aynı olan eşleşen kayıtları getirir.

SELECT * FROM Ogrenciler  ORDER BY OgrenciNumarasi
--Order by sıralamayı sağlar
--select * from Ogrenciler  order by OgrenciNumarasi  desc
--Order by dan sonra ASC ve DESC olmak üzere 2 seçeneğim var
--Default olan ASC : Artan sırada dır. DESC azalan


SELECT * FROM Ogrenciler  ORDER BY OgrenciNumarasi ASC

SELECT * FROM Ogrenciler WHERE OgrenciNumarasi=60702004
--Sorgu kriteri yazmak için WHERE ifadesi kullanılır.

SELECT * FROM Ogrenciler WHERE OgrenciNumarasi >=60702004 AND OgrenciNumarasi <= 60702020

SELECT * FROM Ogrenciler WHERE OgrenciNumarasi BETWEEN 60702004 AND 60702020
--Between 2 değer arasını sorgular
SELECT * FROM Ogrenciler  WHERE Adi = 'Oytun'

SELECT * FROM Ogrenciler  WHERE Adi LIKE 'Al%'
-- Al ile başlayan bütün kayıtları göster
--% işareti joker anlamına gelir


SELECT * FROM Ogrenciler  WHERE Adi LIKE 'G%'

SELECT * FROM Ogrenciler  WHERE Adi LIKE '%me%'
--içirisinde ME geçen tüm adları listeler

SELECT * FROM Ogrenciler  WHERE Adi LIKE '_li'

SELECT * FROM Ogrenciler  WHERE Adi LIKE '__li'


SELECT * FROM Ogrenciler  WHERE Adi LIKE '__li_'

SELECT COUNT(*) FROM Ogrenciler
--Count toplam adeti almaya yarar 32
SELECT COUNT(*) FROM Ogrenciler WHERE Cinsiyeti= 0
--Bayanların sayısını bulmamı sağladı.

SELECT Sehir, COUNT(Sehir) AS ToplamAdet FROM Ogrenciler
GROUP BY Sehir
ORDER BY COUNT(Sehir) DESC
--as ile kolon adını değiştirmeye yarar
--count ile kolon adı kaybolduğunda
--'as' kullanmak önerilir.


SELECT Cinsiyeti, COUNT(Cinsiyeti) AS ToplamAdet FROM Ogrenciler
GROUP BY Cinsiyeti
ORDER BY COUNT(Cinsiyeti) DESC
--group by gruplama yapmaya yarar

SELECT Ogrenciler.Adi,
Ogrenciler.Soyadi,
Ogrenciler.OgrenciNumarasi ,
city.CityName
FROM Ogrenciler
INNER JOIN City ON City.CityId = Ogrenciler.Sehir

--bu örnekte ise şehirin kodu city tablosundaki id
--ile bağlanıp o id ye karşılık gelen değer alnmıştır.


SELECT * FROM Ogrenciler
WHERE Sehir IN (34,35,6)
--sehir id leri 34,35,6 olan iller çekilir.

SELECT * FROM Ogrenciler
WHERE Sehir NOT IN (34,35,6)
-- in içinde içeren kayıtları listeler

1 yorum :

  1. SQL – LIKE Operatörü ve Kullanımı – Ders 13
    SQL konusunda en çok sevdiğim ve sık sık kullandığım operatörlerin başında LIKE operatörü geliyor. Doğru bir şekilde filtreleme yaptığınızda istediğiniz sonuçlara rahatlıkla ulaşabiliyorsunuz. Peki bu tam olarak ne işe yarıyor? Belirttiğiniz tablo ve sütundaki metinleri, karakterlerine göre filtreleme işlemi yapıyor. Örnekler üzerinde daha rahat anlayacağınızı düşünüyorum.
    https://www.dogushan.com/sql-like-operatoru-ve-kullanimi-ders-13/

    YanıtlaSil