SQL Inner Join nedir,nasıl kullanılır?


Tablo 1:
ReferansTablo
OkulNo,Ad,Soyad
21,Suat,Atan
65,Agah,Atan

Tablo 2:
NotTablosu
OkulNo,Not
21,98
65,100

Şimdi Tablo 2’de adların görünmesini istediğimiz zaman şunu yaparız:

SELECT ReferansTablo.Ad, NotTablosu.Not

Diye sorgumuza başlarız. Burada sanki iki tablo bir gibi ayrı tablolardan alacağımız kolonları aldık.

Daha sonra:

INNER JOIN NotTablosu

Deriz bu da NotTablosu içinde referans tabloyu çağırmak için yazılmıştır. Şimdi ise Referans tablodaki okul no ile NotTablosundaki okul no’nun aynı şey olduğunu ifade etmek için şöyle deriz:

ON ReferansTablo.OkulNo=NotTablosu.OkulNo

Yani toplamda şu komutla işi hallederiz:

SELECT ReferansTablo.Ad, NotTablosu.Not
INNER JOIN NotTablosu
ON ReferansTablo.OkulNo=NotTablosu.OkulNo

image

Peki ya birden fazla tablo ilişkisi varsa ne olur. Bu durumda ne olduğunu daha sonra vakit bulursam anlatacağım.

Ancak başlangıç olarak aşağıdaki SQL koduna bakmanızda fayda var:

SELECT        dbo.YazilimTaleplerTab.*, TEB.IdariBirimAdi AS vteb, KUB.IdariBirimAdi AS vkub
FROM            dbo.YazilimTaleplerTab INNER JOIN
                        dbo.IdariBirim AS TEB ON dbo.YazilimTaleplerTab.TalepEdenBirim = TEB.idtIdariBirim INNER JOIN
                        dbo.IdariBirim AS KUB ON dbo.YazilimTaleplerTab.KullanacakBirim = KUB.idtIdariBirim

Reklamlar

Google Spreadsheet Query Function: Use real SQL on your spreadsheets


Just like this:

=query(Yevmiye!$A$2:$I$1004;“select sum(H) WHERE D=’”&A11&“’ label sum(H) ”“)

D is a column head. Ignore label statement. Sum(H) is the column which will be subject of query.

The formula gives sometimes #N/A due to result of SQL query is null. To be able to overcome it just wrap your function with iferror(param1,param2) function. if the first param1 gives error, function will threat param2 (in this case 0)

=iferror(query(Yevmiye!$A$2:$I$1004;"select sum(H) WHERE D=’”&A11&“’ label sum(H) ”“) ,0)

Enjoy

WordPress.com'da Blog Oluşturun.

Yukarı ↑