SQL Server

SQL SERVER INNER JOIN KULLANIMI

INNER JOIN en çok kullanılan tablo birleştirme yöntemidir. İki tablo arasında birleştirme yaparken, tabloların her ikisinde de yer alan değerler seçilir, tablolardan sadece birinde yer alıp diğerinde ilişkili değere rastlanılmayan satırlar seçilmez. Aşağıdaki örnekte urunler ve markalar isimli iki tablo kullanılmıştır.

Aşağıdaki gibi bir sorgu yazıp execute dediğimizde urunler tablosunda bulunan urunmarkaKod ve markalar tablosunda markaKod alanının eşleştiği satırları görmekteyiz.

 

 

ya da

şeklinde sorgumuzu oluşturabiliriz. Sadece iki tabloyu JOIN edebiliriz diye bir kısıtlama yoktur. İkiden fazla tabloyuda ihtiyacımıza göre JOIN edebiliriz.

13 Yorum

  • Benim bir access veri tabanım var. Veri tabanının içinde iki table var. Birinin adı fotograflar diğeride kisiler. Ben kişiler id ile foto id yi relationship te bağladım. Şunu yapmak istiyorum. Kaydederken nasıl kaydedebilirim. Örneğin;

    string sorgu = “Insert into Kisiler (ad,soyad,telefon) values (@Ad,@Soyad,@Telefon)”;
    komut = new OleDbCommand(sorgu, baglanti);
    komut.Parameters.AddWithValue(“@Ad”, textBox1.Text);
    komut.Parameters.AddWithValue(“@Soyad”, textBox2.Text);
    komut.Parameters.AddWithValue(“@Telefon”, textBox3.Text);
    komut.ExecuteNonQuery();

    Ama aynı zamanda fotograflar bir sekmem var. Kaydet dediğim de hem kişiyi hem de resimlerin resim yolunu kaydedicek. “insert into kisiler INNER JOIN fotograflar” mı demem lazım? Ne yapmam gerekiyor? Lütfen yardımcı olabilir misiniz?

  • üstad bugün yardımcı olabilirsen çok sevinirim. Fakat imkanın yoksa yapabileceğim birşey yok. Yine de çok çok teşekkür ederim ilgin için.

  • Üstad bir sorum olacak. Bir database de sütun isimleri aynı 2 tablom var (T-1 ve T-2 diyelim.) T-2 deki tüm satırları T-1’e nasıl aktarabilirim.

    • T-1
      Payment_Id Location_Id Sublocation_Id Payment_Type Payment_DateTime
      1 550102 0 0 1/24/2016 0:18
      2 550102 0 0 1/24/2016 0:20

      T-2
      Payment_Id Location_Id Sublocation_Id Payment_Type Payment_DateTime
      50 550102 0 0 5/26/2016 0:18
      51 550102 0 0 5/26/2016 0:20

      Benim yapmak istediğim

      T-1
      Payment_Id Location_Id Sublocation_Id Payment_Type Payment_DateTime
      1 550102 0 0 1/24/2016 0:18
      2 550102 0 0 1/24/2016 0:20
      50 550102 0 0 5/26/2016 0:18
      51 550102 0 0 5/26/2016 0:20

      Yani T-1 tablom yeni bir tablo T-2 tablom eski bir tablo
      Ben iki tabloyu T-1 tablosunda birleştirmek istiyorum.

Yorum yap