Bu yazımda iki kulvarı birden pekiştirmeye çalışacağım. Hem Oracle ortamına uyum sağlamaya çalışırken hem de temel SQL komutlarını anlamaya çalışacağız. Aslında SQL çok da geniş olmamasına rağmen oldukça kullanışlıdır. Ben daha çok veya elimden geldikçe kara ekran 😀 çalışıyorum. Havaya sokmak da kara ekran üzerine tanımam. Konumuzu dönersek SQL Plus programını açtığımızda karşımıza kullanıcı adı ve şifre girişi olan bir ekran gelecek. Doğru bilgileri girdikten sonra terminal(kara ekran :D) üzerinde SQL> ifade belirecektir. Örnek veritabanı üzerinden konuyu anlatmaya çalışacağım. Oracle kurulumu sırasında örnek veritabanı kurma şansımız var. Umarım siz de kurmuşsunuzdur. Örnek veritabanında HR kullanıcı üzerinden ilerleyeceğim. HR kullanıcısının COUNTRIES, DEPARMENTS, EMPLOYEES, JOB_HISTORY, JOBS, LOCATIONS, REGIONS tabloları mevcuttur. Şimdi sırayla temel SQL komutlarına bakalım.

COUNTRIES tablosundaki verileri herhangi bir şart olmadan çekmeyi istiyoruz. Aynı zamanda alan kısıtlaması da olmayacak. Yani tablodaki bütün alanlar gelecek. Komutumuz şu şekilde olacak.

select * from HR.COUNTRIES

Eğer sadece belli alanları çekmek istiyorsak bu durumda komutun sadece * yerinde değişiklik olacak. Örnek olarak;

select COUNTRY_ID, COUNTRY_NAME from HR.COUNTRIES;

Şimdi kalıba genel olarak bakarsak, selectkomutu tablolardan veri çekmek için kullanılır. Bundan sonra gelen * tüm alanları çekeceğimizi belirtir. Eğer tüm alanlar yerine belli alanları çekmek istiyorsak * yerine aralarına , konularak alan adları eklenir. Oldukça basit olduğunu siz de fark etmiştiniz. Yukarıdaki veri çekme işleminde herhangi bir şart yok. Yani bütün veriler gelmektedir. Eğer belli şartlara uyan verileri çekmek istiyorsak where anahtar kelimesini kullanırız.

select COUNTRY_ID, COUNTRY_NAME from HR.COUNTRIES where COUNTRY_NAME = ‘Argentina’

select * from HR.COUNTRIES where REGION_ID = 3

İlk komut COUNTRY_NAME alanı Argentina değerine eşit olan kayıt veya kayıtların COUNTRY_ID ve COUNTRY_NAME alanlarını getirir. İkinci komut ise REGION_ID değeri 3 olan kayıtların tüm alanlarını getirmektedir. Koşul işlemlerinde and ve or işlemleri de yapılabilmektedir. Tek önemli nokta and işleminin or işlemine göre daha öncelikli duruma sahip olmasıdır. Bu tür durumlarda hatayı engellemek için parantez kullanmak kaçınılmazdır. Eğer kayıtlar belli alan veya alanlara göre sıralanmak isteniyorsa şu şekilde bir yapı kullanılabilir.

select * from HR.COUNTRIES order by REGION_ID asc

select * from HR.COUNTRIES order by REGION_ID desc

İlk komut küçükten büyüğe sıralama yaparken, desc ifadesi tam tersini yani büyükten küçüğe sıralama yapar. Son olarak ise belli string ifadelerine uyan kayıtları arayalım. Bunun için iki anahtar ifademiz var. Bunlar % ve _ .

select * from HR.COUNTRIES where COUNTRY_NAME like ‘_rg%’

select * from HR.COUNTRIES where COUNTRY_NAME like ‘_rg_’

İlk komut bize başında mutlaka bir harf bulunan, sonraki iki harfi ise rg olan ve devamı önemli olmayan kayıtları döndürür. İkinci komut ise bize dört harfli ve ortadaki iki harfi rg olan kayıtları döndürür. Bu durumda _’ nin tam bir harfe denk geldiği, %’ nin ise olsa da olur olmasa da olur 😀 ifadesine denk geldiğini görmüş oluyoruz. Kısa girişlerden sonra daha ilginç ve eğlenceli konularla karşınızda olmayı umuyorum.

Bol Java’ lı günler dileğiyle…

Categories:

2 Responses

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.