CET482.1 Database Applications Day 4. Part 2

Inner join , (outher) left join, (outher) right join and full (outher) join

Bu bölümde iki ve ya daha fazla tabloyu birleştirmeye yada istenilen tablolardan bilgi çekilmesi işlemine olanak sağlayan  join fonksiyonlarının türlerini öğreneceğiz.

*** INNER JOIN

— Bire bir anlamı taşır ve seçili tabloların seçili kolumlarından aynı özellikte olanları tablolardan çekip ayrı bir taplo şeklinden görüntülememizi sağlar. Daha iyi anlaya bilmek için örneği inceleyelim.

Örnek:

Select P.productname,P.categoryid,C.categoryname from
Production.Products P inner join Production.Categories C
 on P.categoryid = C.categoryid
where P.productname like '%a%'
Açıklama:
1) Select – from fonksiyonu ile işimize yarayacak tablolarından istediğimiz özellikleri çekebileceğimizi öğrenmiştik.
2) İşimize yarayacak tabloların arasına inner join fonksiyonunu eklersek ve on operatöründen sonrada hangi özellikler için birebir koşulunu kontrol edeceğini yazarsak inner join’i başarılı bir şekilde kullanmış oluruz.
***OUTHER JOIN
—Outher join iki tabloyu birleştirirken birincil(yani baz alınan) tablonun tüm özelliklerini, ikincil tablonun ise sadece birincil tabloda eşleneği olanları görüntüleyebilmemize olanak sağlar.
 

Left Outer Join

Join kelimesinin sağ tarafındaki tabloyu baz alarak eklemek için kullanılır.

Select TabloA.Alan1 as TabloAAlan1 , TabloB.Alan1 as TabloBAlan1

from TabloA RIGHT OUTHER JOIN  TabloB

on TabloA.Alan1 = TabloB.Alan1

/* dönen sonuç:

TabloA.Alan1  TabloB.Alan1

A                   A

B                   B

C               Null

*/

Right Outer Join

Join kelimesinin sol tarafındaki tabloyu baz alarak eklemek için kullanılır.

Select TabloA.Alan1 as TabloAAlan1 , TabloB.Alan1 as TabloBAlan1

from TabloA LEFT OUTHER JOIN  TabloB

on TabloA.Alan1 = TabloB.Alan1

/* dönen sonuç:

TabloA.Alan1  TabloB.Alan1

A                   A

B                   B

Null              K

*/

Full (Cross) Outher Join

Her iki tablodaki bütün verileri getirmek için kullanılır.

Select TabloA.Alan1 as TabloAAlan1 , TabloB.Alan1 as TabloBAlan1

from TabloA FULL OUTHER JOIN  TabloB

on TabloA.Alan1 = TabloB.Alan1

/* dönen sonuç:

TabloA.Alan1  TabloB.Alan1

A                   A

B                   B

C                  Null

Null              K

*/

 
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s