SQL Hazir Kod Örnekleri( Where, Like,Null,Group By,Order By,Join,Altsorgu,İN)
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
-- 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 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.
--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'
--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
--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
--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'
--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
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
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.
-- 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
--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'
--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
-- 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
--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
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
Kaydol:
Kayıt Yorumları
(
Atom
)
SQL – LIKE Operatörü ve Kullanımı – Ders 13
YanıtlaSilSQL 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/