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_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
Öğretim Görevlileri
| lecturer_id | name |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
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_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 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_idWHERE yerine JOIN table ON condition kullanırız
Bu tür bir join ayrıca inner join olarak da adlandırılır.
Görev
KolayMevcut 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.idSeçenek 2: JOIN sözdizimi
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.id = table2.idBirden 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
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
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