{"id":29142,"date":"2025-09-08T09:00:28","date_gmt":"2025-09-08T06:00:28","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/"},"modified":"2025-09-08T09:00:28","modified_gmt":"2025-09-08T06:00:28","slug":"sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/","title":{"rendered":"SQL Birle\u015ftirme ve Alt Sorgulamalar\u0131: Nihai K\u0131lavuz"},"content":{"rendered":"<p>SQL Birle\u015ftirme ve Alt Sorgulamalar\u0131: Nihai K\u0131lavuz<\/p>\n<p>Veri tabanlar\u0131nda gezinirken, ili\u015fkili verileri bir araya getirmek veya karma\u015f\u0131k sorgulamalar olu\u015fturmak s\u0131kl\u0131kla ihtiya\u00e7 duyulan i\u015flemlerdir. \u0130\u015fte tam da bu noktada SQL&#8217;in g\u00fc\u00e7l\u00fc ara\u00e7lar\u0131 olan birle\u015ftirmeler (joins) ve alt sorgulamalar (subqueries) devreye girer. Bu rehber, SQL&#8217;in bu temel yap\u0131 ta\u015flar\u0131n\u0131 yeni ba\u015flayanlardan uzmanlara kadar her seviyedeki kullan\u0131c\u0131 i\u00e7in ad\u0131m ad\u0131m a\u00e7\u0131klayacak, ger\u00e7ek d\u00fcnya senaryolar\u0131 ile zenginle\u015ftirecek ve performans optimizasyonuna dair ipu\u00e7lar\u0131 sunacakt\u0131r.  Veri analiti\u011finde daha verimli ve etkili olmak i\u00e7in ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri bu k\u0131lavuzda bulabilirsiniz.<\/p>\n<h2>SQL Birle\u015ftirmeleri: \u0130li\u015fkili Verileri Birle\u015ftirmenin Yollar\u0131<\/h2>\n<p>Birden fazla tablodan veri \u00e7ekmek i\u00e7in SQL birle\u015ftirmeleri kullan\u0131r\u0131z.  Farkl\u0131 tablolar aras\u0131ndaki ili\u015fkileri kurarak, ilgili bilgileri tek bir sonu\u00e7 k\u00fcmesinde birle\u015ftirebiliriz.  \u00d6rne\u011fin, bir &#8220;m\u00fc\u015fteriler&#8221; tablosundaki m\u00fc\u015fteri bilgilerini, &#8220;sipari\u015fler&#8221; tablosundaki sipari\u015fleriyle birle\u015ftirmek isteyebiliriz.  Bu, her m\u00fc\u015fterinin sipari\u015flerini tek bir sat\u0131rda g\u00f6r\u00fcnt\u00fclemeyi sa\u011flar.  Birle\u015ftirme t\u00fcrlerini anlamak, do\u011fru sonu\u00e7lar\u0131 elde etmenin anahtar\u0131d\u0131r.<\/p>\n<h3>INNER JOIN: Ortak Kay\u0131tlar\u0131 Se\u00e7me<\/h3>\n<p><code>INNER JOIN<\/code>, iki veya daha fazla tablodaki ortak s\u00fctunlara g\u00f6re e\u015fle\u015fen kay\u0131tlar\u0131 d\u00f6nd\u00fcr\u00fcr.  Ortak kayd\u0131 olmayan sat\u0131rlar sonu\u00e7 k\u00fcmesinde yer almaz.  \u00d6rne\u011fin, &#8220;m\u00fc\u015fteriler&#8221; ve &#8220;sipari\u015fler&#8221; tablolar\u0131nda &#8220;m\u00fc\u015fteri_id&#8221; s\u00fctunu ortak ise, <code>INNER JOIN<\/code> sadece m\u00fc\u015fteri_id&#8217;si her iki tabloda da bulunan kay\u0131tlar\u0131 d\u00f6nd\u00fcr\u00fcr.  Bu, her m\u00fc\u015fterinin sipari\u015flerini g\u00f6stermek i\u00e7in ideal bir y\u00f6ntemdir. A\u015fa\u011f\u0131daki \u00f6rnek, m\u00fc\u015fteri adlar\u0131 ve sipari\u015f tarihlerini birle\u015ftirir:<\/p>\n<pre><code class=\"language-sql\">SELECT\n    musteriler.musteri_adi,\n    siparisler.siparis_tarihi\nFROM\n    musteriler\nINNER JOIN\n    siparisler ON musteriler.musteri_id = siparisler.musteri_id;<\/pre>\n<p><\/code><\/p>\n<h3>LEFT (OUTER) JOIN: Sol Tablodaki T\u00fcm Kay\u0131tlar\u0131 Dahil Etme<\/h3>\n<p><code>LEFT JOIN<\/code>, sol tabloda (bu \u00f6rnekte \"m\u00fc\u015fteriler\") bulunan t\u00fcm kay\u0131tlar\u0131 d\u00f6nd\u00fcr\u00fcr. Sa\u011f tabloda (bu \u00f6rnekte \"sipari\u015fler\") e\u015fle\u015fen kay\u0131t varsa, o kay\u0131t da sonu\u00e7 k\u00fcmesine dahil edilir; aksi takdirde, sa\u011f tablo s\u00fctunlar\u0131 i\u00e7in <code>NULL<\/code> de\u011ferleri d\u00f6nd\u00fcr\u00fcl\u00fcr.  Bu, her m\u00fc\u015fterinin bilgilerini g\u00f6stermek ve sipari\u015fi olmayan m\u00fc\u015fterileri de listelemek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-sql\">SELECT\n    musteriler.musteri_adi,\n    siparisler.siparis_tarihi\nFROM\n    musteriler\nLEFT JOIN\n    siparisler ON musteriler.musteri_id = siparisler.musteri_id;<\/pre>\n<p><\/code><\/p>\n<h3>RIGHT (OUTER) JOIN: Sa\u011f Tablodaki T\u00fcm Kay\u0131tlar\u0131 Dahil Etme<\/h3>\n<p><code>RIGHT JOIN<\/code>, <code>LEFT JOIN<\/code>'in tam tersidir.  Sa\u011f tabloda bulunan t\u00fcm kay\u0131tlar\u0131 d\u00f6nd\u00fcr\u00fcr ve sol tabloda e\u015fle\u015fen kay\u0131t varsa, o kay\u0131t da sonu\u00e7 k\u00fcmesine dahil edilir; aksi takdirde, sol tablo s\u00fctunlar\u0131 i\u00e7in <code>NULL<\/code> de\u011ferleri d\u00f6nd\u00fcr\u00fcl\u00fcr.  Kullan\u0131m\u0131 daha az yayg\u0131nd\u0131r ancak baz\u0131 \u00f6zel durumlarda gerekli olabilir.<\/p>\n<h3>FULL (OUTER) JOIN: Her \u0130ki Tablodaki T\u00fcm Kay\u0131tlar\u0131 Dahil Etme<\/h3>\n<p><code>FULL JOIN<\/code>, hem sol hem de sa\u011f tablodaki t\u00fcm kay\u0131tlar\u0131 d\u00f6nd\u00fcr\u00fcr. E\u015fle\u015fen kay\u0131tlar varsa, birle\u015ftirilir; e\u015fle\u015fmeyen kay\u0131tlar i\u00e7in ilgili tablo s\u00fctunlar\u0131 <code>NULL<\/code> de\u011ferleriyle doldurulur.  T\u00fcm verileri kapsaml\u0131 bir \u015fekilde incelemek gerekti\u011finde kullan\u0131l\u0131r.  T\u00fcm veritaban\u0131 sistemleri bu t\u00fcr bir birle\u015fmeyi desteklemez.<\/p>\n<h2>Alt Sorgulamalar: Karma\u015f\u0131k Sorgu Olu\u015fturma<\/h2>\n<p>Alt sorgulamalar, bir sorgu i\u00e7inde ba\u015fka bir sorguyu i\u00e7eren g\u00fc\u00e7l\u00fc bir SQL \u00f6zelli\u011fidir.  \u0130\u00e7 sorgu (alt sorgu), d\u0131\u015f sorgu i\u00e7in veri sa\u011flar.  Bu, karma\u015f\u0131k ko\u015fullar belirlemeyi ve veri filtrelemeyi kolayla\u015ft\u0131r\u0131r.  \u00d6rne\u011fin, belirli bir kategorideki en pahal\u0131 \u00fcr\u00fcn\u00fc bulmak i\u00e7in alt sorgu kullanabiliriz.<\/p>\n<h3>Alt Sorgulamalar\u0131 WHERE Klauzuyla Kullanma<\/h3>\n<p>Alt sorgulamalar genellikle <code>WHERE<\/code> klauzu i\u00e7inde kullan\u0131l\u0131r.  D\u0131\u015f sorgu, alt sorgu taraf\u0131ndan d\u00f6nd\u00fcr\u00fclen sonu\u00e7lara g\u00f6re filtrelenir.  \u00d6rne\u011fin, ortalama sipari\u015f de\u011ferinden daha y\u00fcksek sipari\u015fleri bulmak i\u00e7in bir alt sorgu kullanabiliriz:<\/p>\n<pre><code class=\"language-sql\">SELECT *\nFROM siparisler\nWHERE siparis_tutari > (SELECT AVG(siparis_tutari) FROM siparisler);<\/pre>\n<p><\/code><\/p>\n<h3>Alt Sorgulamalar\u0131 FROM Klauzuyla Kullanma<\/h3>\n<p>Alt sorgulamalar\u0131 <code>FROM<\/code> klauzu i\u00e7inde de kullanabiliriz. Bu, alt sorguyu bir tablo gibi ele alarak d\u0131\u015f sorguya ge\u00e7ici bir tablo sa\u011flamam\u0131z\u0131 sa\u011flar. \u00d6rne\u011fin, her m\u00fc\u015fterinin ortalama sipari\u015f tutar\u0131n\u0131 hesaplamak i\u00e7in:<\/p>\n<pre><code class=\"language-sql\">SELECT m.musteri_adi, AVG(s.siparis_tutari) as ortalama_siparis_tutari\nFROM musteriler m\nJOIN (SELECT musteri_id, siparis_tutari FROM siparisler) s ON m.musteri_id = s.musteri_id\nGROUP BY m.musteri_adi;<\/pre>\n<p><\/code><\/p>\n<h3>\u00c7oklu Alt Sorgulamalar<\/h3>\n<p>Bir sorgu i\u00e7inde birden fazla alt sorgu kullanmak m\u00fcmk\u00fcnd\u00fcr.  Bu, daha karma\u015f\u0131k ko\u015fullar\u0131n tan\u0131mlanmas\u0131na ve verilerin daha ayr\u0131nt\u0131l\u0131 bir \u015fekilde filtrelenmesine olanak tan\u0131r.  Ancak, \u00e7ok fazla alt sorgu performans\u0131 olumsuz etkileyebilir, bu nedenle dikkatli kullan\u0131lmal\u0131d\u0131r.<\/p>\n<h2>Performans Optimizasyonu: SQL Sorgulamalar\u0131n\u0131z\u0131 H\u0131zland\u0131rma<\/h2>\n<p>Karma\u015f\u0131k SQL sorgulamalar\u0131, veritaban\u0131 performans\u0131n\u0131 etkileyebilir.  Performans\u0131 iyile\u015ftirmek i\u00e7in \u00e7e\u015fitli teknikler kullan\u0131labilir.  \u0130ndeksler, uygun birle\u015ftirme t\u00fcrleri ve sorgu optimizasyonu bunlardan baz\u0131lar\u0131d\u0131r.<\/p>\n<h3>\u0130ndekslerin \u00d6nemi<\/h3>\n<p>\u0130ndeksler, veritaban\u0131nda h\u0131zl\u0131 veri arama sa\u011flar.  S\u0131k\u00e7a sorgulama yap\u0131lan s\u00fctunlara indeks eklemek, sorgu s\u00fcresini \u00f6nemli \u00f6l\u00e7\u00fcde azaltabilir.  Ancak, \u00e7ok fazla indeks eklemek de performans\u0131 olumsuz etkileyebilir, bu nedenle denge \u00f6nemlidir.  \u0130ndeksleri, genellikle <code>WHERE<\/code> klauzu i\u00e7inde kullan\u0131lan s\u00fctunlara eklemek en etkili y\u00f6ntemdir.<\/p>\n<h3>Uygun Birle\u015ftirme T\u00fcrlerini Se\u00e7me<\/h3>\n<p>Farkl\u0131 birle\u015ftirme t\u00fcrlerinin performans etkileri farkl\u0131d\u0131r.  <code>INNER JOIN<\/code> genellikle en h\u0131zl\u0131d\u0131r, \u00e7\u00fcnk\u00fc yaln\u0131zca ortak kay\u0131tlar\u0131 i\u015fler.  <code>LEFT JOIN<\/code> ve <code>RIGHT JOIN<\/code>, daha fazla veri i\u015fledi\u011fi i\u00e7in daha yava\u015f olabilir.  <code>FULL JOIN<\/code> ise en yava\u015f olan\u0131d\u0131r.  Dolay\u0131s\u0131yla, ihtiyac\u0131n\u0131za en uygun birle\u015ftirme t\u00fcr\u00fcn\u00fc se\u00e7mek \u00f6nemlidir.<\/p>\n<h3>Sorgu Optimizasyonu<\/h3>\n<p>Sorgu optimizasyonu, veritaban\u0131 sisteminin sorguyu daha verimli bir \u015fekilde i\u015flemesini sa\u011flayan teknikleri i\u00e7erir.  Bu, sorguyu yeniden yazmak, gereksiz i\u015flemleri kald\u0131rmak veya uygun indeksleri kullanmak gibi y\u00f6ntemleri i\u00e7erebilir.  Veritaban\u0131 y\u00f6netim sisteminizin (DBMS) sundu\u011fu sorgu optimizasyon ara\u00e7lar\u0131n\u0131 kullanmak faydal\u0131 olabilir.<\/p>\n<h2>Ger\u00e7ek D\u00fcnya Senaryolar\u0131 ve Vaka \u00c7al\u0131\u015fmalar\u0131<\/h2>\n<p>Bir e-ticaret sitesindeki \u00fcr\u00fcn ve m\u00fc\u015fteri verilerini ele alal\u0131m.  M\u00fc\u015fterilerin sat\u0131n ald\u0131\u011f\u0131 \u00fcr\u00fcnlerin listesini g\u00f6stermek i\u00e7in bir <code>INNER JOIN<\/code> kullanabiliriz.  Ayr\u0131ca, belirli bir tarihten sonra sipari\u015f vermi\u015f m\u00fc\u015fterilerin listesini g\u00f6stermek i\u00e7in bir alt sorgu kullanabiliriz.  Bu senaryolar, birle\u015ftirmelerin ve alt sorgulamalar\u0131n ger\u00e7ek d\u00fcnyadaki uygulamalar\u0131n\u0131 g\u00f6sterir.<\/p>\n<h3>Vaka \u00c7al\u0131\u015fmas\u0131 1: En \u00c7ok Sipari\u015f Veren M\u00fc\u015fterileri Bulma<\/h3>\n<p>Bir e-ticaret platformunda en \u00e7ok sipari\u015f veren m\u00fc\u015fterileri bulmak i\u00e7in alt sorgu kullanabiliriz. A\u015fa\u011f\u0131daki SQL sorgusu, \u00f6nce her m\u00fc\u015fterinin sipari\u015f say\u0131s\u0131n\u0131 hesaplar, sonra bu say\u0131y\u0131 azalan s\u0131rada s\u0131ralar ve en y\u00fcksek sipari\u015f say\u0131s\u0131na sahip m\u00fc\u015fterileri d\u00f6nd\u00fcr\u00fcr.<\/p>\n<pre><code class=\"language-sql\">SELECT musteri_adi, siparis_sayisi\nFROM (\n    SELECT m.musteri_adi, COUNT(s.siparis_id) AS siparis_sayisi\n    FROM musteriler m\n    JOIN siparisler s ON m.musteri_id = s.musteri_id\n    GROUP BY m.musteri_adi\n) AS siparis_sayilari\nORDER BY siparis_sayisi DESC\nLIMIT 5;<\/pre>\n<p><\/code><\/p>\n<h3>Vaka \u00c7al\u0131\u015fmas\u0131 2: Belirli Bir \u00dcr\u00fcn\u00fc Satan Ma\u011fazalar\u0131 Bulma<\/h3>\n<p>Bir \u00fcr\u00fcn\u00fcn hangi ma\u011fazalarda sat\u0131ld\u0131\u011f\u0131n\u0131 bulmak i\u00e7in bir <code>INNER JOIN<\/code> kullanabiliriz. A\u015fa\u011f\u0131daki sorgu, \u00fcr\u00fcnler ve ma\u011fazalar tablolar\u0131n\u0131 birle\u015ftirir ve belirli bir \u00fcr\u00fcn ID'sine sahip \u00fcr\u00fcnleri satan ma\u011fazalar\u0131 g\u00f6sterir.<\/p>\n<pre><code class=\"language-sql\">SELECT m.magaza_adi\nFROM magazalar m\nINNER JOIN urunler u ON m.magaza_id = u.magaza_id\nWHERE u.urun_id = 123;<\/pre>\n<p><\/code><\/p>\n<h2>\u00d6\u011frenme Yol Haritas\u0131<\/h2>\n<p>Bu k\u0131lavuzu, SQL birle\u015ftirme ve alt sorgulamalar\u0131n\u0131 \u00f6\u011frenme yolculu\u011funuza rehberlik etmek i\u00e7in bir \u00f6\u011frenme yol haritas\u0131yla birlikte sunuyoruz:<\/p>\n<h3>Yeni Ba\u015flayanlar<\/h3>\n<p>* Temel SQL s\u00f6zdizimini \u00f6\u011frenin (SELECT, FROM, WHERE).<br \/>\n* Farkl\u0131 birle\u015ftirme t\u00fcrlerini (INNER JOIN, LEFT JOIN, RIGHT JOIN) ve bunlar\u0131n nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 anlay\u0131n.<br \/>\n* Basit alt sorgulamalar\u0131 kullanarak verileri filtrelemeyi \u00f6\u011frenin.<br \/>\n* K\u00fc\u00e7\u00fck \u00f6l\u00e7ekli veritabanlar\u0131nda pratik yap\u0131n.<\/p>\n<h3>Orta Seviye<\/h3>\n<p>* \u00c7oklu birle\u015ftirme ve alt sorgu kullanarak karma\u015f\u0131k sorgulamalar olu\u015fturmay\u0131 \u00f6\u011frenin.<br \/>\n* Alt sorgulamalar\u0131 <code>FROM<\/code> ve <code>WHERE<\/code> klauzu i\u00e7inde kullanmay\u0131 uygulay\u0131n.<br \/>\n* Performans optimizasyonu tekniklerini (indeksleme, sorgu optimizasyonu) \u00f6\u011frenin.<br \/>\n* Daha b\u00fcy\u00fck veritabanlar\u0131nda pratik yap\u0131n.<\/p>\n<h3>\u0130leri Seviye<\/h3>\n<p>* Birle\u015ftirme ve alt sorgu optimizasyonu konusunda uzmanla\u015f\u0131n.<br \/>\n* Karma\u015f\u0131k veritaban\u0131 \u015femalar\u0131nda gezinmeyi \u00f6\u011frenin.<br \/>\n* Geli\u015fmi\u015f SQL fonksiyonlar\u0131n\u0131 ve prosed\u00fcrlerini alt sorgulamalarla entegre edin.<br \/>\n* B\u00fcy\u00fck \u00f6l\u00e7ekli veritabanlar\u0131 \u00fczerinde performans testleri yap\u0131n ve optimizasyon stratejileri geli\u015ftirin.  Daha fazla bilgi i\u00e7in <a href=\"https:\/\/fatihsoysal.com\">Fatih Soysal<\/a> sitesini ziyaret edebilirsiniz.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>SQL birle\u015ftirmeleri ve alt sorgulamalar\u0131, veritabanlar\u0131yla etkile\u015fim kurman\u0131n ve veri analizi yapman\u0131n g\u00fc\u00e7l\u00fc ara\u00e7lar\u0131d\u0131r.  Bu k\u0131lavuzda, bu konular\u0131 kapsaml\u0131 bir \u015fekilde ele ald\u0131k ve farkl\u0131 seviyelerdeki kullan\u0131c\u0131lar i\u00e7in pratik bilgiler sunduk.  Uygulamal\u0131 \u00f6rnekler ve performans optimizasyonuna dair ipu\u00e7lar\u0131yla, veritaban\u0131 i\u015flemlerinizde daha etkili ve verimli olman\u0131za yard\u0131mc\u0131 olaca\u011f\u0131n\u0131 umuyoruz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<ul>\n<li><strong>Soru:<\/strong> Birle\u015ftirme ve alt sorgu aras\u0131nda ne fark vard\u0131r? <br \/> <strong>Cevap:<\/strong> Birle\u015ftirmeler, iki veya daha fazla tablodaki verileri birle\u015ftirmek i\u00e7in kullan\u0131l\u0131rken, alt sorgulamalar bir sorgu i\u00e7inde ba\u015fka bir sorguyu i\u00e7erir ve daha karma\u015f\u0131k ko\u015fullar olu\u015fturmak i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><strong>Soru:<\/strong> \u00c7ok fazla alt sorgu kullanman\u0131n performans \u00fczerindeki etkisi nedir? <br \/> <strong>Cevap:<\/strong> \u00c7ok fazla alt sorgu, veritaban\u0131 performans\u0131n\u0131 olumsuz etkileyebilir.  Performans\u0131 iyile\u015ftirmek i\u00e7in sorguyu yeniden yazmak veya indeksleme gibi optimizasyon teknikleri kullan\u0131labilir.<\/li>\n<li><strong>Soru:<\/strong> Hangi birle\u015ftirme t\u00fcr\u00fc en h\u0131zl\u0131d\u0131r? <br \/> <strong>Cevap:<\/strong> Genellikle <code>INNER JOIN<\/code> en h\u0131zl\u0131 birle\u015ftirme t\u00fcr\u00fcd\u00fcr, \u00e7\u00fcnk\u00fc yaln\u0131zca ortak kay\u0131tlar\u0131 i\u015fler.<\/li>\n<li><strong>Soru:<\/strong> Alt sorguyu <code>FROM<\/code> klauzu i\u00e7inde kullanman\u0131n avantajlar\u0131 nelerdir? <br \/> <strong>Cevap:<\/strong> Alt sorguyu <code>FROM<\/code> klauzu i\u00e7inde kullanmak, alt sorguyu ge\u00e7ici bir tablo gibi ele alarak d\u0131\u015f sorguyu basitle\u015ftirir ve daha okunabilir hale getirir.<\/li>\n<li><strong>Soru:<\/strong>  Performans sorunlar\u0131n\u0131 nas\u0131l \u00e7\u00f6zebilirim? <br \/> <strong>Cevap:<\/strong> Performans sorunlar\u0131n\u0131 \u00e7\u00f6zmek i\u00e7in indeksleme, uygun birle\u015ftirme t\u00fcrlerinin se\u00e7imi, sorgu optimizasyonu ve veritaban\u0131 ayarlar\u0131n\u0131n g\u00f6zden ge\u00e7irilmesi gibi \u00e7e\u015fitli y\u00f6ntemler kullan\u0131labilir.<\/li>\n<\/ul>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"SQL Birle\u015ftirme ve Alt Sorgulamalar\u0131: Nihai K\u0131lavuz Veri tabanlar\u0131nda gezinirken, ili\u015fkili verileri bir araya getirmek veya karma\u015f\u0131k sorgulamalar&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-29142","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SQL Birle\u015ftirme ve Alt Sorgulamalar\u0131: Nihai K\u0131lavuz<\/title>\n<meta name=\"description\" content=\"Veri tabanlar\u0131nda gezinirken, ili\u015fkili verileri bir araya getirmek veya karma\u015f\u0131k sorgulamalar olu\u015fturmak s\u0131kl\u0131kla ihtiya\u00e7 duyulan i\u015flemlerdir. \u0130\u015fte tam da bu noktada SQL&#039;in g\u00fc\u00e7l\u00fc ara\u00e7lar\u0131 olan birle\u015ftirmeler (joins) ve alt sorgulamalar (subqueries) devreye girer. Bu rehber, SQL&#039;in bu temel yap\u0131 ta\u015flar\u0131n\u0131 yeni ba\u015flayanlardan uzmanlara kadar her seviyedeki kullan\u0131c\u0131 i\u00e7in ad\u0131m ad\u0131m a\u00e7\u0131klayacak, ger\u00e7ek d\u00fcnya senaryolar\u0131 ile zenginle\u015ftirecek ve performans optimizasyonuna dair ipu\u00e7lar\u0131 sunacakt\u0131r. Veri analiti\u011finde daha verimli ve etkili olmak i\u00e7in ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri bu k\u0131lavuzda bulabilirsiniz.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Birle\u015ftirme ve Alt Sorgulamalar\u0131: Nihai K\u0131lavuz\" \/>\n<meta property=\"og:description\" content=\"Veri tabanlar\u0131nda gezinirken, ili\u015fkili verileri bir araya getirmek veya karma\u015f\u0131k sorgulamalar olu\u015fturmak s\u0131kl\u0131kla ihtiya\u00e7 duyulan i\u015flemlerdir. \u0130\u015fte tam da bu noktada SQL&#039;in g\u00fc\u00e7l\u00fc ara\u00e7lar\u0131 olan birle\u015ftirmeler (joins) ve alt sorgulamalar (subqueries) devreye girer. Bu rehber, SQL&#039;in bu temel yap\u0131 ta\u015flar\u0131n\u0131 yeni ba\u015flayanlardan uzmanlara kadar her seviyedeki kullan\u0131c\u0131 i\u00e7in ad\u0131m ad\u0131m a\u00e7\u0131klayacak, ger\u00e7ek d\u00fcnya senaryolar\u0131 ile zenginle\u015ftirecek ve performans optimizasyonuna dair ipu\u00e7lar\u0131 sunacakt\u0131r. Veri analiti\u011finde daha verimli ve etkili olmak i\u00e7in ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri bu k\u0131lavuzda bulabilirsiniz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-08T06:00:28+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"SQL Birle\u015ftirme ve Alt Sorgulamalar\u0131: Nihai K\u0131lavuz\",\"datePublished\":\"2025-09-08T06:00:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/\"},\"wordCount\":1576,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/\",\"name\":\"SQL Birle\u015ftirme ve Alt Sorgulamalar\u0131: Nihai K\u0131lavuz\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-08T06:00:28+00:00\",\"description\":\"Veri tabanlar\u0131nda gezinirken, ili\u015fkili verileri bir araya getirmek veya karma\u015f\u0131k sorgulamalar olu\u015fturmak s\u0131kl\u0131kla ihtiya\u00e7 duyulan i\u015flemlerdir. \u0130\u015fte tam da bu noktada SQL'in g\u00fc\u00e7l\u00fc ara\u00e7lar\u0131 olan birle\u015ftirmeler (joins) ve alt sorgulamalar (subqueries) devreye girer. Bu rehber, SQL'in bu temel yap\u0131 ta\u015flar\u0131n\u0131 yeni ba\u015flayanlardan uzmanlara kadar her seviyedeki kullan\u0131c\u0131 i\u00e7in ad\u0131m ad\u0131m a\u00e7\u0131klayacak, ger\u00e7ek d\u00fcnya senaryolar\u0131 ile zenginle\u015ftirecek ve performans optimizasyonuna dair ipu\u00e7lar\u0131 sunacakt\u0131r. Veri analiti\u011finde daha verimli ve etkili olmak i\u00e7in ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri bu k\u0131lavuzda bulabilirsiniz.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Birle\u015ftirme ve Alt Sorgulamalar\u0131: Nihai K\u0131lavuz\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL Birle\u015ftirme ve Alt Sorgulamalar\u0131: Nihai K\u0131lavuz","description":"Veri tabanlar\u0131nda gezinirken, ili\u015fkili verileri bir araya getirmek veya karma\u015f\u0131k sorgulamalar olu\u015fturmak s\u0131kl\u0131kla ihtiya\u00e7 duyulan i\u015flemlerdir. \u0130\u015fte tam da bu noktada SQL'in g\u00fc\u00e7l\u00fc ara\u00e7lar\u0131 olan birle\u015ftirmeler (joins) ve alt sorgulamalar (subqueries) devreye girer. Bu rehber, SQL'in bu temel yap\u0131 ta\u015flar\u0131n\u0131 yeni ba\u015flayanlardan uzmanlara kadar her seviyedeki kullan\u0131c\u0131 i\u00e7in ad\u0131m ad\u0131m a\u00e7\u0131klayacak, ger\u00e7ek d\u00fcnya senaryolar\u0131 ile zenginle\u015ftirecek ve performans optimizasyonuna dair ipu\u00e7lar\u0131 sunacakt\u0131r. Veri analiti\u011finde daha verimli ve etkili olmak i\u00e7in ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri bu k\u0131lavuzda bulabilirsiniz.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/","og_locale":"tr_TR","og_type":"article","og_title":"SQL Birle\u015ftirme ve Alt Sorgulamalar\u0131: Nihai K\u0131lavuz","og_description":"Veri tabanlar\u0131nda gezinirken, ili\u015fkili verileri bir araya getirmek veya karma\u015f\u0131k sorgulamalar olu\u015fturmak s\u0131kl\u0131kla ihtiya\u00e7 duyulan i\u015flemlerdir. \u0130\u015fte tam da bu noktada SQL'in g\u00fc\u00e7l\u00fc ara\u00e7lar\u0131 olan birle\u015ftirmeler (joins) ve alt sorgulamalar (subqueries) devreye girer. Bu rehber, SQL'in bu temel yap\u0131 ta\u015flar\u0131n\u0131 yeni ba\u015flayanlardan uzmanlara kadar her seviyedeki kullan\u0131c\u0131 i\u00e7in ad\u0131m ad\u0131m a\u00e7\u0131klayacak, ger\u00e7ek d\u00fcnya senaryolar\u0131 ile zenginle\u015ftirecek ve performans optimizasyonuna dair ipu\u00e7lar\u0131 sunacakt\u0131r. Veri analiti\u011finde daha verimli ve etkili olmak i\u00e7in ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri bu k\u0131lavuzda bulabilirsiniz.","og_url":"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-08T06:00:28+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"9 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"SQL Birle\u015ftirme ve Alt Sorgulamalar\u0131: Nihai K\u0131lavuz","datePublished":"2025-09-08T06:00:28+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/"},"wordCount":1576,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/","url":"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/","name":"SQL Birle\u015ftirme ve Alt Sorgulamalar\u0131: Nihai K\u0131lavuz","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-08T06:00:28+00:00","description":"Veri tabanlar\u0131nda gezinirken, ili\u015fkili verileri bir araya getirmek veya karma\u015f\u0131k sorgulamalar olu\u015fturmak s\u0131kl\u0131kla ihtiya\u00e7 duyulan i\u015flemlerdir. \u0130\u015fte tam da bu noktada SQL'in g\u00fc\u00e7l\u00fc ara\u00e7lar\u0131 olan birle\u015ftirmeler (joins) ve alt sorgulamalar (subqueries) devreye girer. Bu rehber, SQL'in bu temel yap\u0131 ta\u015flar\u0131n\u0131 yeni ba\u015flayanlardan uzmanlara kadar her seviyedeki kullan\u0131c\u0131 i\u00e7in ad\u0131m ad\u0131m a\u00e7\u0131klayacak, ger\u00e7ek d\u00fcnya senaryolar\u0131 ile zenginle\u015ftirecek ve performans optimizasyonuna dair ipu\u00e7lar\u0131 sunacakt\u0131r. Veri analiti\u011finde daha verimli ve etkili olmak i\u00e7in ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri bu k\u0131lavuzda bulabilirsiniz.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/sql-birlestirme-ve-alt-sorgulamalari-nihai-kilavuz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SQL Birle\u015ftirme ve Alt Sorgulamalar\u0131: Nihai K\u0131lavuz"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/29142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=29142"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/29142\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=29142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=29142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=29142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}