Menu
Coddy logo textTech

Basic Join Part 1

Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası — ders 43 / 72.

Şimdiye kadar tek tablo sorunlarını ele aldık. Şimdi birden fazla tabloyu nasıl ele alacağımızı inceleyeceğiz.

Aşağıdaki tabloların olduğunu varsayalım:

Dersler

course_idlecturer_id
11
21
32

Öğretim Görevlileri

lecturer_idname
1Jhonas
2Malidos

Görev, her ders için ilgili öğretim üyesinin adını sunmaktır.

Bunu başarmak için iki yol vardır. Her seçenek için, bir tablodaki her satırı diğerine eşleştiririz. Karşılanması gereken bir koşulu kontrol ederiz ve koşul karşılanırsa iki satırı birleştiririz. Her iki seçenek için de istenen sonuç:

course_idlecturer_name
1Jhonas
2Jhonas
3Malidos

Seçenek 1:

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_id

Burada FROM anahtar kelimesinde iki tablo yazıyoruz ve WHERE koşulunda her iki kaydın da lecturer_id'sinin aynı olmasını talep ediyoruz. SELECT koşulunda şimdi table.column yazıyoruz ki veritabanı sütunu nereden alacağını bilsin.

Seçenek 2:

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses
JOIN lecturers ON courses.lecturer_id = lecturers.lecturer_id

WHERE yerine JOIN table ON condition kullanırız

Bu tür bir join ayrıca inner join olarak da adlandırılır.

challenge icon

Görev

Kolay

Mevcut tablolar ve sütunlar:

  • <strong>grades</strong>: <strong>course_id</strong>, <strong>student_id</strong>, <strong>grade</strong>
  • <strong>students</strong>: <strong>id</strong>, <strong>name</strong>

student_name, course_id, student_id ve grade değerlerini tek bir tabloda getiren bir sorgu oluşturun. Sonucu grade değerine göre artan sırada sıralayın.

Kopya kağıdı

Birden fazla tablodan veri birleştirmek için, WHERE ile virgül sözdizimini veya JOIN sözdizimini kullanın:

Seçenek 1: WHERE ile virgül sözdizimi

SELECT table1.column, table2.column
FROM table1, table2
WHERE table1.id = table2.id

Seçenek 2: JOIN sözdizimi

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.id = table2.id

Birden fazla tablodan seçim yaparken bir sütunun hangi tablodan geldiğini belirtmek için table.column sözdizimini kullanın. Bu tür bir birleştirme inner join olarak adlandırılır.

Kendin dene

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler