Inner Join ile 3 Tabloyu Birleştirmek

SQL dilinde üç tabloyu inner join ile birleştirerek bilgileri listelemek

Birbiri ile ilişkili tablolarda birbirine bağımlı olan sutunlar sayesinde farklı tablolardan bilgiler çağırabiliriz. Bu konuda yardımcı olabilecek madde INNER JOIN kavramıdır.

Örnek olarak kategori, kategorilere ait içerikler ve içeriklere ait yorum sistemini düşünelim. Bu sistemde kategori, kategoriye ait içerik ve içeriğe ait yorumun aynı anda listelemesi yapılacaktır.

1) tblKategoriler tablosunu oluşturup içerisine veriler ekleyelim.
Adım 1
CREATE Table tblKategoriler
(
	kategori_ID INT PRIMARY KEY IDENTITY,
	kategori nvarchar(255),
	durum bit DEFAULT 0
)
tblKategoriler Tablosu ve Verileri
Inner Join ile 3 Tabloyu Birleştirmek

2) tblIcerikler tablosunu oluşturup içerisine veriler ekleyelim.
Adım 2
CREATE Table tblIcerikler
(
	icerik_ID INT PRIMARY KEY IDENTITY,
	kategori_ID INT,
	baslik nvarchar(255),
	durum bit DEFAULT 0
)
tblIcerikler Tablosu ve Verileri
Inner Join ile 3 Tabloyu Birleştirmek

3) tblYorumlar tablosunu oluşturup içerisine veriler ekleyelim.
Adım 3
CREATE Table tblYorumlar
(
	yorum_ID INT PRIMARY KEY IDENTITY,
	icerik_ID INT,
	ad_soyad nvarchar(50),
	e_posta nvarchar(50),
	mesaj nvarchar(2000),
	tarih datetime default GETDATE(),
	durum bit DEFAULT 0
)
tblYorumlar Tablosu ve Verileri
Inner Join ile 3 Tabloyu Birleştirmek

Şimdi ise tabloların birleşimi ve listenmesi için INNER JOIN'i kullanalım. Burada dikkat etmemiz gereken bir husus, tablolardaki ortak sutunlar. Mesela tblKategoriler tablosundaki kategori_ID ile tblIcerikler tablosundaki kategori_ID ortak alan olup iki tablonun birleşimi bunların eşitliği/denkliği ile mümkündür. Aynı şekilde tblIcerikler tablosundaki icerik_ID ile tblYorumlar tablosundaki icerik_ID ortak alan olup birleşimi bunların eşitliği/denkliği ile mümkündür.
4) INNER JOIN sorgusunu yazalım.
Adım 4
SELECT
K.kategori,
I.baslik,
Y.ad_soyad,
Y.e_posta,
Y.mesaj
FROM
tblKategoriler AS K
INNER JOIN
tblIcerikler AS I
ON
K.kategori_ID = I.kategori_ID
INNER JOIN
tblYorumlar AS Y
ON
I.icerik_ID = Y.icerik_ID
Örnek
Inner Join ile 3 Tabloyu Birleştirmek

Yorumlar

  • Metin Dizlek

    Metin Dizlek:

    1 yıl önce

    select k.kategor l.baslik from tablo adi k. ı. tablo adin onude yazmaini amaci nedir onu anlamadim yardimci olursaniz
    2 cevapla
  • Yönetici Yorumu:

    1 yıl önce

    Kategoriler tablosunu k ile içerikler tablosunu i ile betimlediğimizi varsayalım. Ve bu iki tabloda da aynı sütun isimleri olsun diyelim. Bana lazım olan kategoriler tablosundaki sütun diyelim. Bu yüzden hangi tablodaki sütunun gelmesini istiyorsak onu belirtmiş oluyoruz. Aslında bir bakıma alışkanlık bir de sistematik diyebiliriz.

Yorum Yaz

Avatar

REKLAM

DDos Koruma, Botnet Koruma, Layer 7 Saldırı koruması, Sanal sunucu, Vds sunucu

REKLAM

Çizgi Filmler

EN

  • Popüler
  • Yeni
  • Son Yorum