Menu
Coddy logo textTech

Temel JOIN Bölüm 1

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

Şimdiye kadar tek bir tablonun sorunlarını ele aldık. Şimdi birden çok tabloyu nasıl ele alacağımızı inceleyeceğiz.

Aşağıdaki tablolara sahip olduğumuzu varsayalım:

dersler

course_idlecturer_id
11
21
32

öğretim görevlileri

lecturer_idad
1Jhonas
2Malidos

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

Bunu gerçekleştirmenin iki yolu vardır. Her seçenek için bir tablodaki her satırı diğer tablodaki satırla eşleştiririz. Karşılanması gereken bir koşulu kontrol ederiz ve koşul karşılanırsa iki satırı tek bir satırda birleştiririz. Her iki seçenek için 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 sözcüğünde iki tablo yazıyoruz ve WHERE yan tümcesinde her iki kaydın lecturer_id değerinin aynı olması gerektiğini belirtiyoruz. SELECT yan tümcesinde artık table.column yazıyoruz; böylece veritabanı sütunu nereden alacağını bilecek.

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 birleştirme türüne iç birleştirme de denir.

challenge icon

Görev

Kolay

Kullanılabilir tablolar ve sütunlar:

  • grades: course_id, student_id, grade
  • students: id, name

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

Kendin dene

-- Görevin istediği sütunları, istediği takma adı kullanarak listele
SELECT ____
FROM students, grades
-- Yalnızca her iki tablonun da aynı kişiyi tanımladığı satır çiftlerini tut
WHERE ____
ORDER BY grade
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

Kendi başına pratik yap: SQL playground