[Döküman] - Temel Sql Komutları 3
-
Önceki Dersler,
[Döküman] - Temel Sql Komutları ( SELECT & INSERT )
[Döküman] - Temel Sql Komutları 2( UPDATE & DELETE ) Ve Operatörler
TbT MS - Sql Server 2008 Yedekleme Planlaması
[Döküman] - SQL Server 2008 Database Otomatik Yedekleme
DISTINCT
Distinct ile bir tablomuzdaki bir alana ait kayıtların farklı isimde olanlarını seçeriz.Bunun anlamı ayrı ayrı olanlardır. Daha iyi anlamak için örnekle bakalım.
Kullanamınına Bakalım Önce,
select DISTINCT SutunAdiniz from TabloAdiniz
Kullanacağımız kod ;
select DISTINCT uyeadi from uyelikbilgi
bu komutla aynı uyeadi’na sahip kayıtlar varsa onlardan sadece 1 tanesi getirir.

Resimde görüldüğü gibi 2 komutuda aynı anda çalıştırdım farkı görmeniz için ilk sorgumda yani DISTINCT olan yerde 5 kayıt varken diğer sorgumda 6 kayıt çıktı bunun sebebi 2 adet rene isimli kayıt olması ve DISTINCT komutunun bunlardan sadece bir tanesini alması.
ORDER BY
Sıralama için kullanılır DESC ve ASC operatörleri ile desteklenebilir.
DESC : Z’den A’ya doğru yani tersten sıralar
ASC : A’dan Z’ye doğru sıralar
Kullanımına Bakalım önce
Select * From TabloAdi Order by SutunAdi -> A’dan Z’ye Doğru Sıralar
Select * From TabloAdi Order by SutunAdi DESC -> Z’den A’ya Doğru Sıralar
Örneğimize bakalım ;

Kullandığımız Kodlar ;
select uyeadi from uyelikbilgi order by uyeadi
select uyeadi from uyelikbilgi order by uyeadi Desc
BETWEEN
Between komutu belli bir aralıktaki değerlere sahip olan alanları sorgulayıp getirmek için kullanılır.
Kullanımına Bakalım,
Select * From TabloAdi where SutunAdi Between ‘Deger1’ and ‘Deger2’
Örneğimizle Bakalım,

Resimde 2 farklı sorgudaki çıktı farkı gözükmete UyeId alanı 0 ile 150 arasındaki sorguladım ve 3 tane kayıt çıktı karşımıza.
Kullandığımız komutlar ,
select * from uyelikbilgi where uyeid between '0' and '150'
IN
IN komutu belirlediğimiz kriterlerde sorgu yapmak için kullanılır Basit kullanımına bakalım önce.
Select * from TabloAdi Where SutunAdi In (Deger)
Bunula ilgili bir örnek yapalım,
select * from uyelikbilgi where uyeid In (123)
kayıtlarımızdan UyeID alanı 123 olan kayıtları getirir.
IN komutunun Gelişmiş Kullanımına Bakalım Şimdide
IN komutunu en sık 2 tablo arasında sorgulama yaparken kullanırım. Örnekle bakarsak daha iyi anlarız. Şimdi benim 2 adet tablom var bu tabloların birinde ( UyelikBilgi ) uyelerin profil bilgileri saklıdır diğer tablomda ise (konu ) uyelerin açtıkları konular, konuların silinip silinmediği, silindiyse neden silindiği gibi alanları tutuyorum. Şimdi öyle bir sorgu yapalım ki bize konu tablosundan konuları silinmiş kullanıcıları listeletelim. Şimdi bunun için ihtiyacımız olan şey ortak bir alandır. 2 tabloda ortak olarak ben UyeID alanını tutuyorum yani profilindeki uyeid ile konu tablosundaki uyeid aynı olmalıdır ki hangi üyelerin hangi konularını açtıklarını takip edebilelim.
Kodun Kullanımı
Select * From TabloAdi where SutunAdi1 IN ( Select SutunAdi1 from TabloAdi2 where SutunAdi2=’Deger’)
Şimdi örneğimizle bakalım

Ben bu sorguda konu tablosunda SIL durumu 1 olan yani konusu silinmiş olan üyeleri listelettirdim.
Kullandığımız Cümle
select * from uyelikbilgi where id In (Select uyeid from konu where SIL='1')
-
ellerine sağlık hacım :)
-
helal dostum çabanı çok takdir ediyorum
-
Paylaşım için teşekkürler.
mysql e-book vardı. kullanım klavuzu o da süper.
bide java2s sitesinde de sql bölümüne bir göz gezdirin. -
sağolun beyler talep gelmeyince bıraktım bende dökümanları :)
-
tebrik koydum hocam güzel olmuş :D
-
devamını bekleriz. Bu komutları genelde kullanıyorum. Belki yeni dökümanlarda işime yarayacaklar çıkacaktır. Tebrikler.
