﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Join Tipleri &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/join-tipleri/feed" rel="self" type="application/rss+xml" />
	<link>https://sqlserveregitimleri.com</link>
	<description>SQL Server ile ilgili her şey</description>
	<lastBuildDate>Sat, 25 Jun 2022 10:32:40 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>SQL Server&#8217;da Join Tipleri</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-join-tipleri</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Sun, 21 Nov 2021 12:54:35 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Join Tipleri]]></category>
		<category><![CDATA[SQL Join Tipleri]]></category>
		<category><![CDATA[SQL Server Join Tipleri]]></category>
		<guid isPermaLink="false">https://sqlserveregitimleri.com/?p=11816</guid>

					<description><![CDATA[Herkese merhaba, Bu yazıda SQL Server&#8217;da Join Tipleri hakkında bilgi vereceğim. SQL Server&#8217;da Join yapıları en çok kullanılan yapılardır. İlk olarak Join nedir ona değinelim....]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba,</p>
<p>Bu yazıda SQL Server&#8217;da Join Tipleri hakkında bilgi vereceğim.</p>
<p>SQL Server&#8217;da Join yapıları en çok kullanılan yapılardır.</p>
<p>İlk olarak <strong>Join</strong> nedir ona değinelim. <strong>Join</strong>, birden fazla tabloyu birbirine tablolardaki eş kolonlar aracılığıyla eşitleyerek bağlama işlemidir. Kullandığımız <strong>Join</strong> çeşidine göre gelen sonuç kümesi değişir.</p>
<p>Aşağıda gördüğünüz görsel Join işlemi hafızanızda bir şeyler oluşturacaktır.</p>
<p><img fetchpriority="high" decoding="async" class="alignnone wp-image-11819 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-1.png" alt="SQL Server'da Join Tipleri" width="700" height="550" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-1.png 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-1-315x248.png 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-1-382x300.png 382w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-1-172x135.png 172w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p><strong>Join</strong> işlemi görüldüğü üzere Matematikte görmüş olduğunuz kümeler konusu gibidir. Aslında bir bakımdan da öyledir. İki dataya ait kesişim, birleşim, fark vs gibi çeşitli işlemleri Join yapılarını kullanarak çözeriz.</p>
<p>Aşağıda yazdığım liste çok kullanılan Join yapılarıdır.</p>
<p><strong>1-) JOIN ya da INNER JOIN (İkisi de aynı şeydir)</strong><br />
<strong>2-) LEFT JOIN ya da LEFT OUTER JOIN (İkisi de aynı şeydir)</strong><br />
<strong>3-) RIGHT JOIN ya da RIGHT OUTER JOIN (İkisi de aynı şeydir)</strong><br />
<strong>4-) FULL JOIN ya da FULL OUTER JOIN (İkisi de aynı şeydir)</strong><br />
<strong>5-) CROSS JOIN</strong></p>
<p>Yukarıdaki Join yapılarını anlamak için aşağıdaki tabloları oluşturup içlerine verileri ekleyelim.</p>
<pre class="line-numbers"><code class="language-sql">--Tabloların oluşturulması

CREATE TABLE Sehirler
(
    ID INT,
    SehirIsmi VARCHAR(100)
);

CREATE TABLE Yiyecekler
(
    ID INT,
    SehirID INT,
    YiyecekAdi VARCHAR(100)
);

--Verilerin tabloya eklenmesi

INSERT INTO Sehirler
(
    ID,
    SehirIsmi
)
VALUES
(1, 'Adana');
INSERT INTO Sehirler
(
    ID,
    SehirIsmi
)
VALUES
(42, 'Konya');
INSERT INTO Sehirler
(
    ID,
    SehirIsmi
)
VALUES
(3, 'Afyon');
INSERT INTO Sehirler
(
    ID,
    SehirIsmi
)
VALUES
(2, 'Adıyaman');
INSERT INTO Sehirler
(
    ID,
    SehirIsmi
)
VALUES
(16, 'Bursa');

INSERT INTO Yiyecekler
(
    ID,
    SehirID,
    YiyecekAdi
)
VALUES
(1, 1, 'Adana Kebap');
INSERT INTO Yiyecekler
(
    ID,
    SehirID,
    YiyecekAdi
)
VALUES
(2, 42, 'Etli Ekmek');
INSERT INTO Yiyecekler
(
    ID,
    SehirID,
    YiyecekAdi
)
VALUES
(3, 3, 'Kaymak');
INSERT INTO Yiyecekler
(
    ID,
    SehirID,
    YiyecekAdi
)
VALUES
(4, 2, 'Çiğ Köfte');
INSERT INTO Yiyecekler
(
    ID,
    SehirID,
    YiyecekAdi
)
VALUES
(5, 75, 'Ayran Aşı');
</code></pre>
<p><strong>JOIN ya da INNER JOIN</strong>: Kısacak iki tablodaki ortak kayıtları getirir. Sehirler tablosundaki <strong>ID</strong> kolonu ile Yiyecekler tablosundaki <strong>SehirID</strong> kolonu eşit olan kayıtları getir diyerek hangi yiyeceğin hangi şehre ait olduğunu gösteren bir sonuç elde edelim.</p>
<pre class="line-numbers"><code class="language-sql">SELECT SehirIsmi,
       YiyecekAdi
FROM dbo.Sehirler
    INNER JOIN dbo.Yiyecekler
        ON Yiyecekler.SehirID = Sehirler.ID;
</code></pre>
<p><img decoding="async" class="alignnone wp-image-11824 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-2.jpg" alt="SQL Server'da Join Tipleri" width="700" height="538" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-2.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-2-315x242.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-2-390x300.jpg 390w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-2-176x135.jpg 176w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere Bursa&#8217;ya ait herhangi bir veri gelmedi çünkü karşılığında herhangi bir yiyecek ismi yok. <strong>INNER JOIN</strong> ortak OLAN verileri getirir.</p>
<p><strong>LEFT JOIN ya da LEFT OUTER JOIN:</strong> İlk tablodaki kayıtlar tamamen listelenir. Eğer ilk tablodaki kaydın karşılığı ikinci tabloda yoksa ikinci tablodaki değeri NULL olarak döner.</p>
<pre class="line-numbers"><code class="language-sql">SELECT SehirIsmi,
       YiyecekAdi
FROM dbo.Sehirler
    LEFT  JOIN dbo.Yiyecekler
        ON Yiyecekler.SehirID = Sehirler.ID;</code></pre>
<p><img decoding="async" class="alignnone wp-image-11826 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-3.jpg" alt="SQL Server'da Join Tipleri" width="700" height="487" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-3.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-3-315x219.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-3-431x300.jpg 431w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-3-194x135.jpg 194w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere Bursa&#8217;ya ait veri geldi ama Bursa&#8217;nın karşılığı olan yiyecek ismi dediğimiz gibi NULL olarak gözüktü çünkü karşılığında herhangi bir yiyecek ismi yok.</p>
<p><strong>RIGHT JOIN ya da RIGHT OUTER JOIN:</strong> İkinci tablodaki kayıtlar tamamen listelenir. Eğer ikinci tablodaki kaydın karşılığı ilk tabloda yoksa ilk tablodaki değer NULL olarak döner. Kısaca LEFT JOIN&#8217;in tam tersidir diyebiliriz.</p>
<pre class="line-numbers"><code class="language-sql">SELECT SehirIsmi,
       YiyecekAdi
FROM dbo.Sehirler
    RIGHT  JOIN dbo.Yiyecekler
        ON Yiyecekler.SehirID = Sehirler.ID;</code></pre>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-11827 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-4.jpg" alt="SQL Server'da Join Tipleri" width="700" height="475" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-4.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-4-315x214.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-4-442x300.jpg 442w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-4-199x135.jpg 199w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere Ayran Aşı&#8217;na ait veri geldi ama Ayran Aşı&#8217;nın karşılığı olan şehir ismi dediğimiz gibi NULL olarak gözüktü çünkü karşılığında herhangi bir şehir ismi yok.</p>
<p><strong>FULL JOIN ya da FULL OUTER JOIN:</strong> LEFT OUTER ve RIGHT OUTER JOIN’in birleştirilmiş hali gibidir. İki tablodaki tüm kayıtlar da döner. Fakat karşılığı olmayan kolonlar NULL olarak döner.</p>
<pre class="line-numbers"><code class="language-sql">SELECT SehirIsmi,
       YiyecekAdi
FROM dbo.Sehirler
    FULL  JOIN dbo.Yiyecekler
        ON Yiyecekler.SehirID = Sehirler.ID;</code></pre>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-11828 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-5.jpg" alt="SQL Server'da Join Tipleri" width="700" height="449" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-5.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-5-315x202.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-5-468x300.jpg 468w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-5-210x135.jpg 210w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere her iki tabloya ait tüm veriler geldi. Karşılıkları olmayan alanlar NULL olarak geldi.</p>
<p><strong>CROSS JOIN:</strong> Tabloların kartezyen çarpımını verir. Yani soldaki tablodaki her satıra karşılık olarak sağdaki tablonun tüm satırlarını döndürür.</p>
<pre class="line-numbers"><code class="language-sql">SELECT SehirIsmi,
       YiyecekAdi
FROM dbo.Sehirler
    CROSS  JOIN dbo.Yiyecekler</code></pre>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-11830 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-6.jpg" alt="SQL Server'da Join Tipleri" width="700" height="596" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-6.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-6-315x268.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-6-352x300.jpg 352w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-6-159x135.jpg 159w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Eğer CROSS JOIN’in WHERE koşuluna INNER JOIN’deki ON ifadesine yazdığımız gibi eşitleme işlemi yaparsak INNER JOIN&#8217;deki gibi çalışacaktır ve aynı sonucu döndürecektir.</p>
<pre class="line-numbers"><code class="language-sql">SELECT SehirIsmi,
       YiyecekAdi
FROM dbo.Sehirler
    CROSS  JOIN dbo.Yiyecekler
  WHERE Yiyecekler.SehirID = Sehirler.ID;</code></pre>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-11831 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-7.jpg" alt="SQL Server'da Join Tipleri" width="700" height="501" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-7.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-7-315x225.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-7-419x300.jpg 419w, https://sqlserveregitimleri.com/wp-content/uploads/2021/11/sql-serverda-join-tipleri-7-189x135.jpg 189w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere SQL Server&#8217;da Join tiplerini görmüş olduk.</p>
<p>Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.</p>
<div class='epvc-post-count'><span class='epvc-eye'></span>  <span class="epvc-count"> 570</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
