Basic Join Part 1
Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası — ders 43 / 72.
Şu ana kadar tek bir tabloyla ilgili problemleri ele aldık. Şimdi birden fazla tabloyu nasıl işleyeceğimizi inceleyeceğiz.
Aşağıdaki tablolara sahip olduğumuzu varsayalım:
courses
| course_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
lecturers
| lecturer_id | name |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
Görev, her dersi ilgili öğretim görevlisinin adıyla sunmaktır.
Bunu gerçekleştirmenin iki yolu vardır. Her iki seçenek için de bir tablodaki her satırı diğeriyle eşleştiririz. Karşılanması gereken bir koşulu kontrol ederiz ve koşul sağlanırsa iki satırı tek bir satırda birleştiririz. Her iki seçenek için de istenen sonuç:
| course_id | lecturer_name |
|---|---|
| 1 | Jhonas |
| 2 | Jhonas |
| 3 | Malidos |
Seçenek 1:
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_idBurada FROM anahtar kelimesinde iki tablo yazıyoruz ve WHERE yan cümlesinde her iki kaydın lecturer_id değerinin aynı olması gerektiğini belirtiyoruz. SELECT yan cümlesinde artık table.column yazıyoruz, böylece veritabanı sütunu nereden alacağını bilecektir.
Seçenek 2:
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses
JOIN lecturers ON courses.lecturer_id = lecturers.lecturer_idWHERE yerine JOIN table ON condition kullanırız
Bu birleştirme türüne iç birleştirme (inner join) de denir.
Görev
KolayKullanılabilir 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 bilgilerini tek bir tabloda getiren bir sorgu oluşturun. Sonucu grade sütununa göre artan sırada 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 gradeBu 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
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns