0Pricing
SQL Academy · Ders

INNER JOIN Mekanizması

INNER JOIN'i süzülmüş Kartezyen çarpım olarak anlayın, birleştirme koşulları yazın ve birleştirmeler için EXPLAIN çıktısını okuyun.

INNER JOIN Mekanizması, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.

INNER JOIN

INNER JOIN, ON koşuluna göre yalnızca HER İKİ tabloda eşleşen çifte sahip satırları döndürür.

Temel INNER JOIN

Her siparişi kullanıcısıyla birlikte alın:

SELECT o.id, o.total, u.email
FROM orders o
INNER JOIN users u ON u.id = o.user_id;

-- INNER is the default — you can also write:
SELECT o.id, o.total, u.email
FROM orders o
JOIN users u ON u.id = o.user_id;

ON İçinde Birden Fazla Koşul

ON yan tümcesi, normal bir mantıksal ifadedir:

SELECT *
FROM events e
JOIN sessions s
  ON s.user_id = e.user_id
 AND e.created_at BETWEEN s.start_at AND s.end_at;

Takma Adlar

Takma adlar sorguları kısaltır ve belirsiz sütun başvurularını önler:

SELECT o.id, u.email
FROM orders AS o          -- AS is optional
JOIN users  AS u ON u.id = o.user_id;

Üç veya Daha Fazla Tabloyu JOIN ile Birleştirme

JOIN yan tümcesini tekrarlayarak JOIN'leri zincirleyin:

SELECT o.id, u.email, p.name AS product
FROM orders   o
JOIN users    u ON u.id = o.user_id
JOIN products p ON p.id = o.product_id;

USING (sütun)

JOIN sütununun her iki tabloda da adı aynı olduğunda USING yazabilirsiniz — çıktıdaki sütunu tekilleştirir:

SELECT o.id, total, email
FROM orders
JOIN users USING (user_id);   -- requires both tables to have user_id

NATURAL JOIN

Aynı ada sahip her sütun üzerinden JOIN yapar — sütunlar eklendiğinde kırılgan hale geldiği için dikkatli olun.

-- Avoid in production code:
SELECT * FROM orders NATURAL JOIN users;

JOIN Koşulları ve WHERE

INNER JOIN için ON içindeki bir koşul, mantıksal olarak WHERE içindeki bir koşula eşdeğerdir. Uygulama kuralı: JOIN ilişkisini tanımlayan koşullar ON içine, satır süzgeçleri WHERE içine yazılır.

SELECT * FROM orders o
JOIN users u ON u.id = o.user_id   -- join condition
WHERE u.country = 'US';            -- row filter

Sonuçların Çoğalması

A'daki bir satır B'deki üç satırla eşleşirse sonuçta üç satır olur. Bu normaldir — ancak unuttuğunuzda şaşırtıcı olabilir. Toplulaştırma mı yapıyorsunuz? COUNT(*) kullanımına dikkat edin.

Kendisiyle JOIN Önizlemesi

Her örneğe farklı bir takma ad vererek bir tabloyu kendisiyle JOIN yapabilirsiniz:

SELECT e.full_name AS employee, m.full_name AS manager
FROM employees e
JOIN employees m ON m.id = e.manager_id;

INNER JOIN Performansı

INNER JOIN'ler şu durumlarda hızlıdır:

  • JOIN sütunu dizinlenmişse (özellikle FK tarafı)
  • Tablolardan biri küçükse (karma JOIN) veya her ikisi sıralıysa (birleştirme JOIN'i)
  • Ara satır sayısını düşük tutmak için erken süzme yapıyorsanız

Özet

INNER JOIN yalnızca eşleşen çiftleri tutar.

  • JOIN = varsayılan olarak INNER JOIN
  • ON, JOIN koşulunu ifade eder
  • Takma adlar sorguları kısa tutar
  • JOIN sütunları dizinlenmelidir

Hızlı Kontrol

orders INNER JOIN users ON users.id = orders.user_id, bir siparişin eşleşen kullanıcısı olmadığında (yetim sipariş) ne döndürür?

Sıkça Sorulan Sorular

“INNER JOIN Mekanizması” dersi ücretsiz mi?

Evet — “INNER JOIN Mekanizması” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.

“INNER JOIN Mekanizması” dersinde ne öğreneceğim?

INNER JOIN'i süzülmüş Kartezyen çarpım olarak anlayın, birleştirme koşulları yazın ve birleştirmeler için EXPLAIN çıktısını okuyun. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

SQL Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“INNER JOIN Mekanizması” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. JOIN Neden Kullanılır (İlişkisel Modelin Özeti)
  2. INNER JOIN Mekanizması
  3. LEFT/RIGHT JOIN ve OUTER Birleştirmeleri
  4. Kendi Kendine Birleştirmeler ve Takma Adlar
← SQL Academy Sayfasına Dön