VHD Nedir?
Açılımı Virtual Hard Disk'tir.Peki bu VHD ne işe yarar?
Verinin yedeklenmesini, kurtarılmasını ve yönetilmesini kolaylaştırmak için kullanılmaktadır. Harddisk üzerindeki partitionları taşıyamazsınız ama VHD formatındaki virtual diskleri taşımanız ve farklı pclerde kullanmanız mümkündür. Bu noktada VHD’nin avantajı öne çıkmaktadır. Diskinizin tek partition olarak işletim sistemininin kurulduğunu düşünürsek, backup için kullanabileceğiniz bir alan gereklidir. İşte bu noktada virtual disk oluşturarak backuplarınızı buraya alabilir ya da önemli belgelerinizi bu virtual disk üzerinde tutabilirsiniz.
VHD oluşturmayı 2 aşamada inceliyeceğiz.
Cmd ve Disk Management aracılığı ile ilk olarak cmd ile bir vhd nasıl oluşturulur onu görelim.

Öncelik ile Administrator hesabı ile logon olmamız gerekmektedir yada Cmd yi sağ tıklayıp Run as administrator şeklinde çalıştırmalıyız.



Bir disk işlemi yapıcağımız için Diskpart komutunu giriyoruz.
Create vdsik file=c:\delibal.vhd maximum=512 komutunu giriyoruz.Bu komuttaki parametreleri tek tek açıklayalım.
create vdsik:Oluşturcağımız diskin bir sanal disk olucağını belirten bir komuttur.
file=c:\delibal.vhd : oluşturcağı vhd'nin ismi ve lokasyonu. Yani benim VHD'mi c partitionunun içine delibal.vhd diye oluşturucak.
maximum=512 : oluşturucağımız vhd'nin boyutunu belirtir.Ben 512mb olmasını istedim.

Komutumuzu girdikten sonra VHD'mizin oluştuğuna dair bir ekran çıktısı alıyoruz.

Görüldüğü gibi VHD'mizi oluşturdu.C'nin içerisinde VHD'nin oluştuğunu gözlemliyebiliriz.

Bir VHD'yi bilgisayarımıza nasıl takıcağımızı görmeden önce Disk Management Konsolunda VHD nasıl oluşturuluyormuş görelim.


Run' Diskmgmt.msc yazarak Diskmanagement Konsola ulaşabiliriz.

Action Sekmesinden Crate VHD ' yi tıklayarak VHD oluşturmaya başlıyoruz.

Şimdi bu ekranda oluşturucağımız VHD'nin özellikleri görünüyor.
Ben bir numaralandırma sırası yaptım ve ona göre size elimden geldiğince anlatmaya çalışacağım
1-Browse: Burda VHD'nin nereye oluşturuluağını ve adını yazabilirsiniz mesela bende
c:\murat.vhd  " olucak. Browse seçeneğini kullandığınızda ".vhd" uzantısını yazmanıza gerek kalmıyacak ama location kısmına el ile belirtmek istiyorsanız yazabilirsiniz.
2-Oluşturucağımız VHD nin boyutunu burada belirliyeceğiz.
3-Oluşturulucak VHD 'nin boyut parametresini kb,mb,gb tarzında belirliyeceğimiz yerdir.
Şimdi en önemli olan kısma geldik.
4- Burada bulunan Radio butonunu seçtiğiniz zaman Oluşturucağınız vhd minumum ebatta oluşucaktır ama gösterdiğiniz boyuta kadar da içine dosya atabiliceksiniz.
5-Burada bulunan radio butonunu seçeriseniz oluşturucağınız vhd belirttiğiniz boyutta harddiskte direkt yer kaplıyacaktır.
Dynamically expanding ve Fixed size disk çeşitlerini bir örnek ile açıklamak istersek.
Fixed size'ı Bir kutu gibi düşünebilirsiniz.Ne alıcağı bakıldığında anında anlaşılır.İçerisinede dolduracağınız şeyler bellidir.
Dynamically expanding'i  bir balon gibi düşünebilirsiniz.Siz içerisine hava üfledikçe boyutu büyür ama sonsuza kadar hava üfleyemeyeceğiniz için sınırına geldiğiniz zaman durmak zorundasınızdır.
Cmd ile oluşturduğumuz vhd Fixed size gelceği için ben aralarında kıyaslama yapmak için bu diskimi Dynamically Expanding  yapıyorum ve boyutunu 512mb olarak belirliyorum.

Görüldüğü gibi c nin içine Murat VHD si oluşturuldu.2 VHD arasındaki boyut farklarına bakalım isterseniz.

Cmd komutu ile oluşturduğumuz Delibal.vhd fixed size bir VHD'dir ve benim fiziki harddiskimin üzerinde direkt olarak 512 mb yer kaplıyor.
Disk management konsolundan oluşturduğumuz VHD'ise Dynamically Expanding disktir.Ve şuanda içersine birşey yazmadığımız için fiziki harddiskimde 4kb yer kaplıyor.

Şimdi bu VHD'leri bir bilgisayar nasıl takıcağız onu görelim.
2. oluşturduğumuz murat VHD'si Disk management aracılığı ile oluşturulduğu için harici bilgisayarıma takılmış durumda.
Delibal VHD'sini bilgisayarımıza nasıl takıcağız onu görelim?


Attach VHD diyoruz.

Browse seçeneğine tıklayıp vhd nin lokasyonunu belirttikten sonra ok butonuna tıklıyoruz.
Şu anda disklerimiz takılı durumda ancak initialize disk demediğimiz ve biçimlendirmediğimiz için göremiyoruz.
Bu şekilde  initialize ediyoruz.Gelen ekrana Ok diyoruz.initialize edilmemiş bütün diskler initialize edildi.
Şimdi sıra disklerimizi biçimlendirmeye geldi.

New simple Volume diyoruz.
Gelen açıklama ekranını next diyerek geçiyoruz.

Burada biçimlendiriceğimiz kısmın ne büyüklükte olucağını gösteriyoruz.Yani bizim disklerimiz 512 mb idi eğer 512mb'lilk bir partition ile karsılasmak istiyor isek next diyeceğiz ama daha küçük bir partition ile karsılaşmak istiyor isek buradan sayıyı düşürebiliriz.Ben next diyorum.
Burada bize oluşturucağımız partitiona hangi harfi tayin ediceğimizi soruyor.İstediğiniz bir harf var ise seçebilirsiniz.Ben next diyerek bir sonraki basamağa geçiyorum.
File system diski hangi dosya sisteminde formatlıyacağımızı belirler.
allocation unit size ise verileri hangi boyutta gruplayacağını belirler.
volume label'de oluşturucağınız partitiona bir isim verebilirsiniz.
Bütün işlemlerinizi kendinize göre yapılandırdıktan sonra next diyebilirsiniz.
Görüldüğü gibi autoplay ile vhdmin geldiğini görüyorum.Diğer diskimide bu şekilde  yapılandırdıktan sonra bilgisayarımdaki görünümlerini bir görelim .

VHD nedir? windows 7 'de Cmd ve Disk Management ile VHD oluşturma ( Virtual Hard Disk)

SID Nedir?
Microsoft isletim sistemlerinin kuruldugu her bilgisayar kendisine ait karakteristigi tasiyan ozel bir guvenlik tanimlayicisi olusturur. Bu guvenlik tanimlayicisi ilerleyen zamanlarda yine bu bilgisayara ait gorev ve yetkilerin kimligi gorevini üstlenecektir. Domaine dahil edilmis bir isletim sistemi uzerinde ki SID o makinenin fiziksel tanimlayicilarini kullanarak kendini belirleyen ozel bir Hex yapisi olusturur. Sadece kücük bir hex yapisi o bilgisayara ait butun ozellik ve ogeleri Servera gosterebilir. Bu gorevlendirme ve yetki alanlari server harici lokasyon edilmis aglardada gecerlidir.
SID Nasıl Öğrenilir?

Komut satırından bu komutu girdikten sonra karsımıza cıkan ekranın üst kısımlarında SID numaramızı Şu şekilde görebiliriz:
Admin kullanıcısı için olan SID numarası budur.Peki bakalım çoğu kişinin kafasına takılan "User Değişince SID değişiyormu?" sorusunun cevabı neymiş ?

Görüldüğü gibi yedek User'ına ait SID numarası Administrator User'ına göre farklı..

SID Nedir?

SID Numarası Nasıl Değitirilir?
SID numarası Third-part uygulamalar ile değiştirilebildiği gibi Windows'un kendi aracı olan Sysprep ile de değiştirilebilir.
Klonlama Yapabilmek İçin Ne Yapılmalı?
Image'ini alıcağımız bilgisayarda Sysprep'lenip kapatılması gerekir. Ancak sysprep'in kendi Autounattend Dosyası sizin için yeterli olmayabilir. Çünkü Syspreplenmiş bilgisayar açıldığında Rutin sorular sorucaktır.
Örnek olarak Dil,Klavye Dili,Saat gibi sorular sorucaktır. Bu parametreleri tek tek elimizle girmek yerine size birazdan linkini vericeğim ISO formatından alıcağımız Autounattend  dosyası ile bu zahmetten kurtulacağız.
Sysprep ile Autounattend Kurulum Nasıl Yapılır?İlk olarak SID numaramızın değişip değişmiyeceğini anlamamız için komut satırından "whoami /all" komutu ile SID numaranızı bir kenara not ediniz.
Sonra Sysprep.iso linkindeki dosyayı indirmemiz gerekiyor.
Bir sonraki adım Image'ini alıcağımız yani Klonlayacağımız bilgisayara bu iso formatını takmak olucaktır.
Ben Windows 7'ye syprep yapıcağım için Windows 7 sysprep Answer File Klasorunun içine giriyorum.
Bende bulunan Windows 7 64 bit olduğu için x64 ile  başlayan dosyayı kopyalıyorum.
Sonra sırası ile C-->windows-->system32-->sysprep klasörünün içine giriyorum ve Autounattend dosyasını silip x64 dosyamı yapıştırıyorum.
Dosyayı yapıştırdıktan sonra "f2" ile isminin basındaki "x64_" kısmını siliyorum.
Sonra tekrar sysprep.iso dosyama gelip sysprep.txt yi açıyorum
içerisindeki komut satırını kopyalayıp komut işlemcisine gelip şu işlemleri yapıyorum.
Cd komutu ile sysprep klasorunun içine geldikten sonra sysprep.txt dosyasından kopyaladığımız komutu buraya yapıştırıyoruz ve enter'a basıyoruz.
Karşımıza bu şekilde bir ekran çıkıcak. Biraz bekledikten sonra bilgisayar kapanacak ve tekrar açtığınızda başta gördüğünüz SID numarasının değiştiğini görceksiniz.
NOT: Aynı User ile açtığınız için büyük ihtimal ile son 3  hane değişmeyecektir.Diğer hanelere bakarsanız değiştiğini anlıyacaksınız.

SID Değiştirme,Syprep Kullanımı

Sorun:

Danışmanlığını yaptığımız bir firmada kurulu olan Remote Desktop Server'a El terminallerinin RDP ile Server'a bağlanıp Mobile bir programı çalıştırması gerekiyordu.El terminalleri ile bağlantı kurmaya çalıştığımda "Server Authentication" ile ilgili problemlerim olduğuna dair hata alıyordum.

Çözüm:

1- Remote Desktop Server üzerindeki regedit kayıtlarını backup alıyoruz.
2-Başlat-Çalıştır-Regedit yazıp Enterlıyoruz ve sırasıyla

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing'e geliyoruz.

Burada siliceğimiz kayıtlar şunlardır :
-Certificate
-x509 Certificate
-x509 Certificate ID
-x509 Certificate2

3-Regedit kayıtlarını sildikten sonra Remote Desktop Server'ı Restart ediyoruz.

4-Server Manager'i açıyoruz ve Remote Destop Licensing Rolunu siliyoruz.

5-Server'ı Restart Ediyoruz.

6-Eğer Licensing Sunucuyu sildikten sonra hala duruyorsa c:\windows\System32\Lserver klasorunu siliyoruz.

7-Licensing Rolunu tekrar yüklüyoruz ve restart atıyoruz.

8-Licensing Rolunu açıp Active Server diyoruz ve lisansları giriyoruz.Ben per-device lisans satın aldığım için per-device lisans girdim.

Sorunun çözümüne bu şekilde ulaşmış bulunmaktayım.


Alıntıdır.

2008R2 Remote Desktop Server'a El Terminallerinin Bağlanamaması Sorunu

LEFT JOIN ile iki adet tablomuzdaki kayıtları belli bir kritere göre birleştirebilir. Burada asıl olan birinci tablondaki kayıtlardır. İkinci tablodan sadece birinci tabloda olan kayıtlar alınır. İkinci tabloda olupta birinci tabloda olmayan alanların değeri boş (NULL) olarak gelecektir

LEFT JOIN Kullanım Biçimi
SELECT alan_ad(lari)
FROM tablo1 LEFT JOIN tablo2
ON tablo1.alan_adi=tablo2.alan_adi

veya
SELECT alan_ad(lari)
FROM tablo1 LEFT OUTER JOIN tablo2
ON tablo1.alan_adi=tablo2.alan_adi

NOT: LEFT JOIN aynı zamanda LEFT OUTER JOIN olarak da kullanılabilir.
Burada görüleceği üzere From ifadesi ile birinci tablomuzu ve ardından LEFT JOIN (veya LEFT OUTER JOIN) ile ikinci tablomuu belirtmiş oluyoruz. ON ile hangi alanların eşitleneceği gösterilmektedir. Birinci tabloda ki bütün kayıtlar seçilir. Buna karşılık eşitlenen alanlara bakılarak ikinci tablodan sadece birinci tabloda olan kayıtlar seçilir. Mesela id_no alanına göre eşitleme yapılırsa birinci tabloda id_no alanında 1,2,3,4,5,6,7 kayıtları ve ikinci tabloda id_no alanında 3,4,9,10,11,15 kayıtları varsa; birinci tablodaki bütün kayıtlar alınırken ikinci tablodan sadece birinci tablodakine eşit olan kayıtlar alınır. Yani ikinci tablodan sadece 3 ve 4 id nolu kayıtlar alınır.


Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Müşteriler isimli tablomuz olsun.
idAdi_soyadi
1Salih ESKİOĞLU
2Ayhan ÇETİNKAYA
3Serkan ÖZGÜREL
4İlhan ÖZLÜ
İkinci tablomuz olan Satışlar ise aşağıdaki gibi olsun.
idSatilan_malSatis_fiyati
1Buzdolabi1200
2LCD TV1800
5LCD TV1750
8Çamaşır Makinesi950

Örnek1:

SELECT *
FROM Mutseriler LEFT JOIN Satislar
ON Musteriler.id=Satislar.id

Bu kodda iki tablodaki id alanları eşitlenmiş. Birinci tablodan bütün kayıtlar alınacaktır. İkinci tablodan ise id alanında sadece 1 ve 2 yazan kayıtlar alınacaktır. id alanında 5 ve 8 yazan kayıtlar dikkate alınmayacaktır. Çünkü birinci tabloda 5 ve 8 id numarasına sahip kayıt bulunmamaktadır.
Çıktısı:
idAdi_soyadiSatilan_malSatis_fiyati
1Salih ESKİOĞLUBuzdolabı1200
2Ayhan ÇETİNKAYALCD TV1800
3Serkan ÖZGÜREL  
4İlhan ÖZLÜ  
Örnek2:

SELECT Adi_soyadi, Satilan_mal
FROM Musteriler JOIN Satislar
ON Musteriler.id=Satislar.id

Bu kod ile sadece adı soyadı ve satılan mal alanları seçilmiş. Gene aynı şekilde id alanları eşit olan kayıtlar işleme alınmış. Çıktıya dikkat edilirse id alanı çıktı alanları arasında yoktur. Çünkü select ile ilgili alan belirtilmemiştir.
Çıktısı:
Adi_soyadiSatilan_mal
Salih ESKİOĞLUBuzdolabı
Ayhan ÇETİNKAYALCD TV
Serkan ÖZGÜREL 
İlhan ÖZLÜ 
Örnek3:

SELECT Adi_soyadi, Satilan_mal, musteriler.id AS id_no
FROM Musteriler JOIN Satislar
ON Musteriler.id=Satislar.id
ORDER BY id_no ASC

Bu kodda Select ifadesinden sonra musteri tablosundaki id alanı AS ifadesi ile özel tanım olarak belirtilmiştir. Yani SQL kodu içerisinde müşteri tablosunun id alanı kısaca id_no olarak kullanılacaktır. AS için detaylı kullanım bilgisine buradan ulaşabilirsiniz. ORDER BY ile seçilen kayıtlar id numarasına küçükten büyüğe sıralanmıştır.
Çıktısı:
id_noAdi_soyadiSehir
1Salih ESKİOĞLUBuzdolabı
2Ayhan ÇETİNKAYALCD TV
3Serkan ÖZGÜREL 
4İlhan ÖZLÜ 

SQL LEFT JOIN Kullanımı

SELECT alan_ad(lari)
FROM tablo1 INNER JOIN tablo2
ON tablo1.alan_adi=tablo2.alan_adi

veya
SELECT alan_ad(lari)
FROM tablo1 JOIN tablo2
ON tablo1.alan_adi=tablo2.alan_adi

NOT: INNER JOIN yerine sadece JOIN kullanılabilir.
Burada görüleceği üzere From ifadesi ile birinci tablomuzu ve ardından JOIN (veya INNER JOIN) ile ikinci tablomuu belirtmiş oluyoruz. ON ile hangi alanların eşitleneceği gösterilmektedir. Birinci tabloda olan bir kayıt ikinci tabloda olmayabilir veya ikinci tabloda olan ir kayıt biirnci tabloda olmayabilir. Bu durumda sadece belirtilen alanlarda eşit olan kayıtlar seçilir. Mesele id_no alanına göre eşitleme yapılırsa birinci tabloda id_no alanında 1,2,3 kayıtları ve ikinci tabloda id_no alanında 1,2,3,4,5 kayıtları varsa; bu kayıtlardan sadece 1,2,3 olanlar işleme alınır. Her iki tabloda bulunan ortak kayıtlar seçilir. Yani kesişim kümesi baz alınır.


Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Müşteriler isimli tablomuz olsun.
idAdi_soyadi
1Salih ESKİOĞLU
2Ayhan ÇETİNKAYA
3Serkan ÖZGÜREL
4İlhan ÖZLÜ
İkinci tablomuz olan Satışlar ise aşağıdaki gibi olsun.
idSatilan_malSatis_fiyati
1Buzdolabi1200
1LCD TV1800
2LCD TV1750
1Çamaşır Makinesi950

Örnek1:

SELECT *
FROM Mutseriler JOIN Satislar
ON Musteriler.id=Satislar.id

Bu kodda iki tablodaki id alanları eşitlenmiş. id alanında ortak olan kayıtlar seçilecek ve diğer kayıtlar dikkate alınmayacaktır. 3 ve 4 nolu id lere sahip müşteriler çıktı kayıtlarında olmayacaktır. Çünkü Satışlar tablosunda bunlarla iligli bir kayıt bulunmamaktadır.
Çıktısı:
idAdi_soyadiSatilan_malSatis_fiyati
1Salih ESKİOĞLUBuzdolabı1200
1Salih ESKİOĞLULCD TV1800
2Ayhan ÇETİNKAYALCD TV1750
1Salih ESKİOĞLUÇamaşır Makinesi950
Örnek2:

SELECT Adi_soyadi, Satilan_mal
FROM Musteriler JOIN Satislar
ON Musteriler.id=Satislar.id

Bu kod ile sadece adı soyadı ve satılan mal alanları seçilmiş. Gene aynı şekilde id alanalr eşit olan kayıtlar işleme alınmış. Çıktıya dikkat edilirse id alanı çıktı alanları arasında yoktur. Çünkü select ile ilgili alan belirtilmemiştir.
Çıktısı:
Adi_soyadiSatilan_mal
Salih ESKİOĞLUBuzdolabı
Salih ESKİOĞLULCD TV
Ayhan ÇETİNKAYALCD TV
Salih ESKİOĞLUÇamaşır Makinesi
Örnek3:

SELECT Adi_soyadi, Satilan_mal, musteriler.id AS id_no
FROM Musteriler JOIN Satislar
ON Musteriler.id=Satislar.id
ORDER BY id_no ASC

Bu kodda Select ifadesinden sonra musteri tablosundaki id alanı AS ifadesi ile özel tanım olarak belirtilmiştir. Yani SQL kodu içerisinde müşteri tablosunun id alanı kısaca id_no olarak kullanılacaktır. AS için detaylı kullanım bilgisine buradan ulaşabilirsiniz. ORDER BY ile seçilen kayıtlar id numarasına küçükten büyüğe sıralanmıştır.
Çıktısı:
id_noAdi_soyadiSehir
1Salih ESKİOĞLUBuzdolabı
1Salih ESKİOĞLULCD TV
1Salih ESKİOĞLUÇamaşır Makinesi
2Ayhan ÇETİNKAYALCD TV

SQL INNER JOIN Kullanımı ( SQL Tablo Birlestirmek)

AS ifedesi ile uzun ve kullanımı zor olan tablo veya alan adlarına geçici olarak kısa isimler vererek bunları kodlamalarımızda kullanabiliriz. Böylece mevcut tablo yapımız bozmadan anlık olarak belirlediğimiz isimleri kullanabiliriz. Verilecek olan geçici ad eğer boşluk içeriyorsa köşeli parantez içinde yazılır. Tablodaki alan adlarında Türkçe karakter kullanımına izin verilmemektedir. Bu tip durumlarda AS ifadesi ile geçici bir isim verip yazdığımız uygulamada kullanabiliriz.

AS İfadesinin Alan Adlarında Kullanım Biçimi
SELECT alan_adi AS gecici_ad
FROM tablo_adi
AS İfadesinin Tablo adlarında Kullanım Biçimi
SELECT alan_adi
FROM tablo_adi AS gecici_ad


Örnek Tablo Uygulaması:

Birinci Tablomuz: 
Örnek olarak aşağıdaki gibi Personel_Bilgileri isimli tablomuz olsun.
idAdi_soyadiYasadigi_sehirBolum_adiMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAİzmitİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİzmirFinans Yöneticisi3456789
4İlhan ÖZLÜİstanbulMuhasebe7765677
İkinci Tablomuz: Örnek olarak aşağıdaki gibi Detay_Bilgileri isimli tablomuz olsun.
idSatilan_urunSatis_fiyati
1Buzdolabi1000
1Çamaşır Makinesi900
4Buzdolabı1100
4Televizyon1800

Örnek1:

SELECT Adi_Soyadi AS isim, Yasadigi_sehir AS memleket
FROM Personel_bilgileri

Bu örnekte Adi_soyadi ve Yasadigi_sehir alaları için AS ifadesi ile geçici bir ad verilmiş olnur.
Çıktısı:
isimmemleket
Salih ESKİOĞLUİstanbul
Ayhan ÇETİNKAYAİzmit
Serkan ÖZGÜRELİzmir
İlhan ÖZLÜİstanbul


Örnek2:SELECT Adi_Soyadi AS isim, Yasadigi_sehir AS [Yaşadığı Şehir]
FROM Personel_bilgileri
WHERE [Yaşadığı Şehir]= 'İstanbul'

Bu kodda görüleceği üzere Yasadigi_sehir alanı için tanımlanan geçici ad WHERE ifadesinden sonra kullanılmaktadır. Artık sorgunun geri kalan kısımlarında [Yaşadığı Şehir] olarak kullanılabilir. Verilen geçici adda boşluk olduğu için köşeli parantez içinde yazılmalıdır.
Çıktısı:
isimYaşadığı Şehir
Salih ESKİOĞLUİstanbul
İlhan ÖZLÜİstanbul

Örnek3:
SELECT personel.id, personeladi_soyadi AS isim, satislar.satilan_urun AS [Ürün], satislar.satis_fiyati AS [Satış Fiyatı]
FROM Personel_bilgileri AS personel, Detay_bilgileri AS satislar
WHERE personel.id=satislar.id

İlk bakışta oldukça karışık bir kod olarak görünebilir. Burad iki tane tablo bir arada kullanılmıştır. İnceleyecek olursak;
FROM ifadesinden sonra Personel_bilgileri isimli tablonun adı kısaltılarak personel yapılmış. Aynı şekilde Detay_bilgileri tablosu ise satislar olarak adlandırılmış.
SELECT ifadesinden sonra, iki tane tablo kullanıldığı için alanadları yazılırken hangi tablodan olduğu belirtilmek zorundadır. İşte burada tabloya verilen kısa ad kullanılabilir.
WHERE ifadesi ile sorgu sonucu ortaya çıkan verilerde iki tablodaki id alanları eşit olan kayıtları seçerek hangi personelin hangi ürünü sattığı öğrenilebilir.
Çıktısı:
idisimÜrünSatış Fiyatı
1Salih ESKİOĞLUBuzdolabi1000
1Salih ESKİOĞLUÇamaşır Makinesi900
4İlhan ÖZLÜBuzdolabı1100
4İlhan ÖZLÜTelevizyon1800

SQL AS Alias Kullanımı(SQL'De takma ad vermek)

Between operatörü ile bir alanda belirtilen aralıktaki değerleri aramak için kullanılır.

BETWEEN Kullanım Biçimi
SELECT alan_ad(lari)
FROM tablo_adi
WHERE sorgulanacak_alan_adi BETWEEN aranacak_deger1 AND aranacak_deger2
BETWEEN bir operatördür ve WHERE ile kullanılır.

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumMaas
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu900
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi1300
3Serkan ÖZGÜRELErzincanFinans Yöneticisi1250
4İlhan ÖZLÜİstanbulMuhasebe1500

Örnek1:

SELECT *
FROM Personel
WHERE Maas BETWEEN 1000 AND 1300

Bu kod ile Maaşı 1000 ile 1300 arasında olan kayıtlar seçilir. Burada dikkat ediliceği üzer Maas alanı rakamsal bir alan olduğu için 1000 ve 1300 degerleri tırnak işareti kullanılmadan yazılmıştır.
Çıktısı:
idAdi_soyadiSehirBolumMaas
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi1300
3Serkan ÖZGÜRELErzincanFinans Yöneticisi1250
Örnek2:

SELECT Adi_soyadi, Sehir
FROM Personel
WHERE Sehir BETWEEN 'A' AND 'K'

Bu kod ile Sehir alanındaki kayıtlardan A ile K harfi arasındaki harflerden herhangi bir harf ile başlayan kayıtlar seçilmektedir. Burada dikkat ediliceği üzer Bolum alanı metinsel bir alan olduğu için aranacak  degerler tırnak işareti kullanılarak yazılmıştır.
Çıktısı:
Adi_soyadiSehir
Ayhan ÇETİNKAYAKocaeli
Serkan ÖZGÜRELErzincan
Örnek3:

SELECT Adi_soyadi, Sehir
FROM Personel
WHERE Sehir NOT BETWEEN 'A' AND 'K'

Bu kod ile Sehir alanındaki kayıtlardan A ile K harfi arasındaki harflerden herhangi bir harf ile başlamayan kayıtlar seçilmektedir. NOT kelimesi yapılan işleminolumsuz yani şartlara uymayan halini işler.
Çıktısı:
Adi_soyadiSehir
Salih ESKİOĞLUİstanbul
İlhan ÖZLÜİstanbul

SQL BETWEEN Kullanımı

IN operatörü belirtilen tek bir alanda birden fazla değeri aramak için kullanılır.

IN Kullanım Biçimi
SELECT alan_ad(lari)
FROM tablo_adi
WHERE sorgulanacak_alan_adi IN (aranacak_deger1,aranacak_deger2,...)
IN bir operatördür ve WHERE ile kullanılır.

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELErzincanFinans Yöneticisi3456789
4İlhan ÖZLÜİstanbulMuhasebe3456723

Örnek1:

SELECT *
FROM Personel
WHERE Sehir IN ( 'İstanbul','Kocaeli')

Bu kod ile Sehir alanında İstanbul ve Kocaeli yazan kayıtlar seçilir.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
4İlhan ÖZLÜİstanbulMuhasebe3456723

SQL IN Kullanımı

LIKE operatörü tablomuzda bulunan kayıtlardan belirttiğimiz kriterler uygun olanları seçmek için kullanılır. Ancak bazı durumlarda farklı ihtiyaçlar söz konusu olabilir. Bu tip bir durumda LIKE ifadesinden sonra bazı özel işretler kullanılarak istenilen sonuçlara ulaşılabilir.

LIKE İşaretleri Tablosu
İşaretAçıklaması
%Birden çok karakterin yerine kullanılır
_Sadece bir karakterin yerine kullanılır.
[karakter_listesi]Köşeli parantez ile belirtilen harf listesi % işareti ile kullanılır.
LIKE bir operatördür ve WHERE ile kullanılır. Yani eşittir, büyüktür veya küçüktür işareti yerine kullanılır.

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAİzmitİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİzmirFinans Yöneticisi3456789
4İlhan ÖZLÜİstanbulMuhasebe7765677

Örnek1:

SELECT *
FROM Personel
WHERE Sehir LIKE 'İ%'

Bu örnekte Sehir alanında İ harfi ile başlayan kayıtlar seçilmiştir. % işareti İ harfinden sonra kalan karakteri temsil eder. Yani bu sorgunun anlamı: Sehir alanındaki verilerden İ harfi ile başlayan kayıtları seç.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
3İlhan ÖZLÜİstanbulMuhasebe7765677


Örnek2:
SELECT *
FROM Personel
WHERE Bolum LIKE '%Yönetici%'

Bu kodda Bolum alanının herhangi bir yerinde (başında, ortasında veya sonunda) Yönetici kelimesini seçecektir.
Çıktısı:
2Ayhan ÇETİNKAYAİzmitİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİzmirFinans Yöneticisi3456789
ÖNEMLİ BİLGİ: NOT kelimmesi ile belirtilen değere sahip olmayan kayıtlar seçilir
Örnek3:
SELECT *
FROM Personel
WHERE Bolum NOT LIKE '%Yönetici%'

Bu kod Bolum alanının herhangi bir yerinde Yönetici yazmayan kayıtları seçer.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
4İlhan ÖZLÜİstanbulMuhasebe7765677
Örnek4:
SELECT *
FROM Personel
WHERE Sehir  LIKE 'İzmi_'

Bu kod Sehir alanının İzmi ile başlayan ve son harfi ne olursa olsun farketmeyen kayıtları seçer.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
2Ayhan ÇETİNKAYAİzmitİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİzmirFinans Yöneticisi3456789
Örnek5:
SELECT *
FROM Personel
WHERE Adi_soyadi  LIKE '[S,A]%'

Bu kod Adi_soyadi alanındaki ilk harfi S veya A ile başlayan kayıtları seçer. Son kayıt İ harfi ile başladığı için seçilmemiştir.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAİzmitİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİzmirFinans Yöneticisi3456789
Örnek6:
SELECT *
FROM Personel
WHERE Adi_soyadi  LIKE '[A-K]%'

Bu kod Adi_soyadi alanındaki, ilk harfi A ile K harfleri arasında ki herhangi bir harf ile başlayan kayıtları seçer. Bu koda uyan sadece bir kayıt vardır. Adi_soyadi alanındaki diğer kayıtlar S ve İ ile başladığından dolayı
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
2Ayhan ÇETİNKAYAİzmitİdari İşler Yöneticisi2345678

SQL LIKE İŞARETLERİNİN Kullanımı

LIKE operatörü tablomuzda bulunan kayıtlardan belirttiğimiz kriterler uygun olanları seçmek için kullanılır.

LIKE Kullanım Biçimi
SELECT alan_ad(lari)
FROM tablo_adi
WHERE sorgulanacak_alan_adi LIKE sorgulama_degeri
LIKE bir operatördür ve WHERE ile kullanılır. Yani eşittir, büyüktür veya küçüktür işareti yerine kullanılır.

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİstanbulFinans Yöneticisi3456789

Örnek1:

SELECT *
FROM Personel
WHERE Sehir LIKE 'İ%'

Burada dikkat edilecek nokta LIKE ifadesinden sonra % işaretinin kullanılmasıdır. Bu örnekte Sehir alanında İ harfi ile başlayan kayıtlar seçilmiştir. % işareti İ harfinden sonra kalan karakteri temsil eder. Yani bu sorgunun anlamı: Sehir alanındaki verilerden İ harfi ile başlayan kayıtları seç.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
3Serkan ÖZGÜRELİstanbulFinan Yöneticisi3456789


Örnek2:
SELECT *
FROM Personel
WHERE Bolum LIKE '%Yönetici%'

Bu kodda Bolum alanının herhangi bir yerinde (başında, ortasında veya sonunda) Yönetici kelimesini seçecektir.
Çıktısı:
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELİstanbulFinans Yöneticisi3456789
ÖNEMLİ BİLGİ: NOT kelimmesi ile belirtilen değere sahip olmayan kayıtlar seçilir
Örnek3:
SELECT *
FROM Personel
WHERE Bolum NOT LIKE '%Yönetici%'

Bu kod Bolum alanının herhangi bir yerinde Yönetici yazmayan kayıtları seçer.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567

SQL LIKE Kullanımı ( SQLde Arama Yapmak)