Menu
CoddyTech

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 fazla tabloyu nasıl ele alacağımızı inceleyeceğiz.

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

courses

course_idlecturer_id
11
21
32

öğretim görevlileri

lecturer_idisim
1Jhonas
2Malidos

Görev, her dersi ilgili öğretim görevlisinin adıyla birlikte sunmaktır.

Bunu başarmanın iki yolu vardır. Her seçenekte, bir tablodaki her satırı diğer tablodaki bir 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 yazarız ve WHERE koşulunda her iki kaydın da lecturer_id değerinin aynı olmasını isteriz. SELECT koşulunda artık table.column yazarız; böylece veritabanı sütunu nereden alacağını bilir.

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.

Her iki seçenek de aynı sonucu verir ve iç birleşim olarak adlandırılır: yalnızca koşulu sağlayan satır çiftleri birleştirilir.

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ştur. Sonucu grade'e göre artan sırada sırala.

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