Join Dasar Bagian 1
Termasuk bagian Dasar-Dasar dalam perjalanan SQL di Coddy. Pelajaran 43 dari 72.
Sampai saat ini, kita telah menyelesaikan masalah yang melibatkan satu tabel. Sekarang kita akan mempelajari cara menangani beberapa tabel.
Misalkan kita memiliki tabel berikut:
kursus
| course_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
lecturers
| lecturer_id | name |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
Tugasnya adalah menampilkan setiap kursus beserta nama dosen yang bersangkutan.
Ada dua cara untuk mencapai ini. Untuk setiap opsi, kita mencocokkan setiap baris dalam satu tabel dengan tabel lainnya. Kita memeriksa kondisi yang harus terpenuhi, dan jika kondisi tersebut terpenuhi, kita menggabungkan kedua baris menjadi satu. Hasil yang diinginkan untuk kedua opsi:
| course_id | lecturer_name |
|---|---|
| 1 | Jhonas |
| 2 | Jhonas |
| 3 | Malidos |
Opsi 1:
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_idDi sini kita menuliskan dua tabel pada kata kunci FROM, lalu pada klausa WHERE kita meminta agar lecturer_id pada kedua catatan memiliki nilai yang sama. Pada klausa SELECT, kini kita menuliskan table.column agar database mengetahui dari mana mengambil kolom tersebut.
Opsi 2:
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses
JOIN lecturers ON courses.lecturer_id = lecturers.lecturer_idAlih-alih menggunakan WHERE, kita menggunakan JOIN table ON condition
Kedua opsi memberikan hasil yang sama dan disebut inner join: hanya pasangan baris yang memenuhi kondisi yang digabungkan.
Tantangan
MudahTabel dan kolom yang tersedia:
grades:course_id,student_id,gradestudents:id,name
Buat query yang mengambil student_name, course_id, student_id, dan grade dalam satu tabel. Urutkan hasil berdasarkan grade secara menaik.
Coba sendiri
-- Cantumkan kolom yang diminta tugas, gunakan alias yang diminta
SELECT ____
FROM students, grades
-- Pertahankan hanya pasangan baris dari kedua tabel yang merujuk pada orang yang sama
WHERE ____
ORDER BY gradePelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Kata Kunci Lainnya
Kata kunci INKata kunci BETWEENKata kunci LIKEKata kunci ASRangkuman: Model Ponsel2Kondisi
Dasar KondisiKata Kunci ANDKata Kunci ORKata Kunci NOTMenggabungkan Beberapa KondisiTanda KurungNilai Boolean3Format Pengembalian Khusus
Nilai nullUrutkan Hasil Bagian 1Urutkan Hasil Bagian 2Ulasan: Perusahaan Keamanan SiberBatasi Jumlah RecordUlasan: Pabrik Kendaraan6Tantangan Pengantar
Ulasan: Pemilihan ParlemenUlasan: Polisi Menangkap Pelaku KejahatanUlasan: Wadah Minuman BarUlasan: Insinyur Membuat Kolom BaruLatihan sendiri: Playground SQL