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_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
öğretim görevlileri
| lecturer_id | isim |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
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_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 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_idWHERE 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.
Görev
KolayKullanılabilir tablolar ve sütunlar:
grades:course_id,student_id,gradestudents: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 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
4Daha Fazla Anahtar Sözcük
IN anahtar sözcüğüBETWEEN anahtar sözcüğüLIKE anahtar sözcüğüAS anahtar sözcüğüTekrar - Cep Telefonu Modelleri2Koşullar
Koşulların TemelleriAND Anahtar SözcüğüOR Anahtar SözcüğüNOT Anahtar SözcüğüBirden Çok Koşulu BirleştirmeParantezlerBoolean Değerler3Belirli Döndürme Biçimi
Null değerlerSonuçları Sıralama 1. BölümSonuçları Sıralama 2. BölümTekrar - Siber Güvenlik FirmasıKayıt Sayısını SınırlamaTekrar - Araç Fabrikası6Giriş Alıştırmaları
Tekrar - Parlamento SeçimiTekrar - Polisin Suçluyu TutuklamasıTekrar - Bar İçecek KabıTekrar - Mühendis Yeni Sütunlar9Birden Çok Tablo
Temel JOIN Bölüm 1Temel JOIN Bölüm 2Tekrar - JOINKendine JOINTekrar - Kendine JOINUNIONSorguları Basitleştirme, WITH Anahtar SözcüğüTekrar - WITH SorgularıTekrar - Gayrimenkul Müteahhidi12Pencere Fonksiyonları 2. Bölüm
RANK ve DENSE_RANK FonksiyonlarıTekrar - RANK ve DENSE_RANKNTILE FonksiyonuToplama FonksiyonlarıROWS ve RANGE ÖlçütüKendi başına pratik yap: SQL playground