Oracle Ders 2 – Temel Select Sorgusu

Merhaba Arkadaslar,
Bu bolum giris niteliginde olacak . Bu bolumde inceleyeceklerimizi konu basliginda toparlayalim

  • SQL Developer’a giris
  • Projection Kavrami
  • Column Aliasess Kavrami
  • Aritmetik Operatorler
  • Distinct & Unique
  • Concatenation

Buradaki konulari ilerleyen bolumlerde detaylica inceleyecegiz. Bu bolumde amacimiz SQL Developer’a alismak ve temel select sorgusunu incelemek.

Oncelikle SQL developerda “tables” alanina bakarsaniz burada default olarak gelen tablolari gorebilirsiniz.Ben sorgulari bu tablolar uzerinde anlatmayacagim.

select 'drop table '||table_name||' cascade constraints;' from user_tables;

Sorgusunu calistirip(F5 ile ) , drop table komutlarini copy-paste ile alip calistiralim ve tum tablolari silelim.

02 oracle drop_all_tables 01

Butun tablolari sildik simdi de uzerinde calisacagimiz tablolari olusturacagiz, tablo olusturma islemini ilerleyen derslerde bahsedecegim.Asagidaki linkten txt dosyasi icerigini alip SQL developerda  calistiralim.Gordugunuz gibi tablolarimiz olustu.

( Not: Eger  a non-numeric character was found where a numeric was expected  ora-01858
hatası aliyorsak su komutlari calistiralim )

alter session set nls_date_format = 'DD-MON-YY'
alter session set NLS_DATE_LANGUAGE = 'ENGLISH';

Tablolari oustur: create table insert

02 oracle create insert 02

select table_name from user_tables;

Sorgusunu calistirarak eklemis oldugumuz tablolarin listesini gorebiliriz

Desc tabloAdi;
Describe tabloAdi;

ile tablomuzun alan isimlerini, tiplerini gorebiliriz.

02 oracle_table_name 03

Artik bir kac select sorgusu yazip uzerinde konusabiliriz. Bir SQL sorgusunun yapisi su sekilde olur. Buradaki tum durumlarin kullanimini ilerleyen derslerimizde bahsedecegiz.

SELECT [DISTINCT | UNIQUE] (*, columnname [ AS alias], …)
FROM tablename
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY columnname];


Projection
Select sorgumuzda spesifik alanlarin secilip getirilmesidir.

Select title from books;

Birden fazla alanlari getirmek icin tablo alanlari arasina virgul (,) ile ayirip yaziyoruz.

Select title,pubdate from books;

Not: SQL case-sensitive olmadigi icin

SELECT TITLE FROM BOOKS; 
select title from books;
SELECT title FROM books;

sorgularin hepsi aynidir ve sorunsuzca calisir.

Select * from books;

* (yildiz) ile de bir tabloya ait tum alanlarin kayitlarini getirebilirz.

Column Aliases
Select sorgumuzda tablo alanlarini isimlendirebiliriz. Buna Column Aliases denir.

Ornek olarak ;

Select title from books;

sorgumuzu calistirdigimizda books tablomuzdaki kayitlarin title alanini getiriyoruz ve dikkat ederseniz sorgu ciktimizdaki isim de TITLE

02 oracle select 1

select * from books;


oracle select

Tablo kolon isimlerinin hepsinin buyuk yazildigina dikkat edin.  (ISBN, TITLE ..)

Tablo alanlarina isim vermek icin, 3 yontem vardir.
Tablo alanindan sonra bosluk birakip istedigimiz ismi verebiliriz ( araya bosluk koyamayiz burada) —> isbn book_no
[as anahtar kelimesi opsiyoneldir]
Tablo alanini eger cift tirnak icinde yazarsak bosluk birakabiliriz ve burada biz nasil yazarsak buyuk -kucuk harf duyarli sekilde tablo alan adini degistirir.

select isbn book_no, title as "Book Title",
pubdate as publishdate
from books;

02 oracle select 02


Aritmetik Operatorler

Select sorgularimiz icerisinde aritmetik islemleri yapabiliriz
Books tablomuzda retail ve cost alani var  retail-cost sonucuna profit (kar) diye isimlendirip sorgumuzda gosterebiliriz.

select title, retail- cost "profit" from books;


Disctinct ve Unique

Select sonucunda duplicate (birbirini kopyalayan) durumlari ortadan kaldirmak icin Discinct veya Unique kullanilabilir.

select state from customers;

sorgusunu calistirdigimizda 20 adet kayit gelir bunlardan birbirini tekrar edenler var.

select distinct state from customers;
select unique state from customers;

Bu sorgularda ise 12 adet state gelir ve bunlarin hepsi birbirinden farklidir.

Concatenation(birbirine baglama)

Birden fazla sutunu bir sutun olarak birlestirme islemine concatenation denir. Oracle da bu islem  (pipe) ||  ile saglanir

firstname ve lastname sutunlarini birlestirip isim olarak da Name verirsek..

select firstname || lastname  "Name" from customers;

sorgu sonucuunda kayitlar guzel durmadi degil mi, tamam araya bir bosluk ekleyelim 🙂

select firstname || ' '  ||lastname "Name" from customers;

Bu son sorgumuz ile  dersimizi de burada noktaliyoruz.

Herkese Bol Javali Gunler dilerim.
Be an oracle man , import java.*;
Levent Erguder
injavawetrust

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *