SQL INNER JOIN sözdizilimi
SELECT column_name(s) |
basit bir örneğide arkasından patlatalim
bu personel tablosu olsun.
| P_Id | ad | soyad | adres | sehir |
|---|
buda gorev tablosu olsun içerisindeki verileri siz hayal edin.
| G_Id | Gorev_No | P_Id |
|---|
SELECT Personel.soyad, Personel.ad, Gorev.Gorev_No
FROM Personnel
INNER JOIN Gorev
ON Personel.P_Id=Gorev.P_Id
ORDER BY Personel.Soyad;
| sayad | ad | Gorev_No |
|---|
SQL LEFT JOIN sözdizimiSELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_nameburada tablo1 deki bütün sanuçlar dönuyor tablo2 de eşi olmasa dahi.bir başa örnekde buradaselect
i.integer_value as day_of_week ,
t.val
from
integers i
left outer join t on
( i.integer_value = t.day_of_week )
where
i.integer_value between 0 and 6
order by
i.integer_value
;DAY_OF_WEEK VALSQL> select * from t;
----------- ----------
0
1 100
2
3 300
4 400
5 500
6
DAY_OF_WEEK VAL
----------- ----------
1 100
3 300
4 400
5 500
select * from integer;
INTEGER_VALUE
-------------
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10
ilişkisel cebir işlemlerinin resimli anlatımı (salahlı hocamın sunularından alıntıdır.)//////////////////////////////////////////////////////////////////////////////////////LIKE, ‘_’ , ‘%’ karakterleri ve ESCAPE
SQL cümlelerinde LIKE ifadesi sık
sık kullanırız.Örneğin all_objects tablosunda adı ‘STMT’ ile başlayan satirlari
getir sorgusu aşağıdaki gibi olacaktır:select * from all_objects where
object_name like ‘STMT%’Sonu ’MAP’ ile biten objeleri
getirmek için :
select * from
all_objects where object_name like ‘%MAP’İçersinde ‘PRIVILEGE’ geçen
objeleri getirmek için :
select * from
all_objects where object_name like ‘%PRIVILEGE%’3.karaketeri ‘$’ olanları getirmek
için :
select * from all_objects where
object_name like ‘__$%’Ancak bazen
içersinde
‘_’ ya da ‘%’ gecen ifadeleri de sorgulamak isteyebiliriz.Ama bu durumda ‘_’
karakteri ‘herhangi tek bi rkarakter’ manasına, ‘%’ karakteri de herhangi
karakter kümesi varlığı anlamında kullanılan tanımlanmış karakterler oldugundan
normal LIKE kullanımı ile yapamayız.Çözüm LIKE içeren sorgularımızda ESCAPE
anahtar kelimesini kullanmaktır.Örneğin içersinde ‘_’ gecen
objeleri bulmak için :
select
object_name from all_objects where object_name like ‘%\_%’ ESCAPE
‘\’‘_’ ile başlayan objeleri getirmek
için :
select object_name from
all_objects where object_name like ‘\_%’ ESCAPE ‘\’‘TEM_’ geçen objeleri bumak için
:
select object_name from all_objects
where object_name like ‘%TEM\_%’ ESCAPE ‘\’Aynı örnek ‘%’ karakteri aramak
içinde geçerlidir
LIKE, ‘_’ , ‘%’ karakterleri ve ESCAPE KISMININ TAMAMI ALINTIDIR KAYNAK http://hakkioktay.wordpress.com/2007/03/15/kisa-kisa-6/
////////////////////////////////////////////////////////////////////////////////////////////
trunc traşlama fonksiyonudur zamanda su şekilde kullanabiliriz.
No comments:
Post a Comment