Kursus
SQL, singkatan dari Structured Query Language, adalah alat yang ampuh untuk menelusuri sejumlah besar data dan mengembalikan informasi spesifik untuk analisis. Mempelajari SQL sangat penting bagi siapa pun yang ingin menjadi analis data, data engineer, atau data scientist, dan juga bermanfaat di banyak bidang lain, seperti pengembangan web atau pemasaran.
Baik Anda pencari kerja yang mencari peluang baru untuk menerapkan keterampilan SQL Anda atau perekrut yang akan mewawancarai kandidat untuk lowongan di perusahaannya, satu hal yang pasti muncul dalam wawancara adalah pertanyaan terkait SQL joins.
Dalam SQL, join adalah pernyataan yang digunakan untuk menggabungkan dan mengambil catatan dari dua atau beberapa tabel. Tabel SQL dapat digabungkan berdasarkan hubungan antara kolom-kolom dalam tabel tersebut.
Dalam artikel ini, saya merangkum pertanyaan SQL joins yang paling sering ditanyakan. Berlatih pertanyaan wawancara ini akan membantu Anda mempersiapkan wawancara dan lebih percaya diri saat ditanya tentang konsep populer ini.
Siap untuk ujian? Mari kita "join" bersama!
Ringkas: Inti yang Perlu Diingat tentang SQL Joins
- Ada enam jenis join inti di SQL:
INNER JOIN,LEFT JOIN,RIGHT JOIN,FULL JOIN,SELF JOIN, danCROSS JOIN. INNER JOINhanya mengembalikan baris yang cocok, sedangkanLEFT JOINdanRIGHT JOINmenyertakan semua baris dari satu sisi ditambah kecocokan dari sisi lainnya.- Topik lanjutan untuk wawancara mencakup semi-join, anti-join, dan perbedaan antara klausa
ONdanWHEREdalam join. - Latih menulis kueri join secara manual—pewawancara menghargai pendekatan pemecahan masalah Anda lebih dari sekadar hafalan sintaks yang sempurna.
- Pahami kapan menggunakan setiap jenis join dan bagaimana dampaknya terhadap kinerja, khususnya
CROSS JOINyang menghasilkan produk Kartesius.
10 Pertanyaan Wawancara SQL Joins untuk Pemula
1. Apa itu join?
Join adalah klausa SQL yang digunakan untuk menggabungkan dan mengambil catatan dari dua atau beberapa tabel. Tabel SQL dapat digabungkan berdasarkan hubungan antara kolom-kolom pada tabel tersebut. Lihat tutorial SQL joins kami untuk mengetahui semua detailnya.
2. Apa saja jenis-jenis join utama?
Ada enam jenis join utama:
- INNER JOIN
- LEFT JOIN
- RIGHT JOIN
- FULL JOIN
- SELF JOIN
- CROSS JOIN
3. Apa perbedaan antara LEFT JOIN dan RIGHT JOIN?
LEFT JOIN mengembalikan semua catatan dari tabel kiri dan catatan yang cocok dari tabel kanan. Untuk baris di tabel kiri yang tidak memiliki pasangan di tabel kanan, hasilnya akan menyertakan nilai NULL pada kolom-kolom tabel kanan.
RIGHT JOIN mengembalikan semua catatan dari tabel kanan dan catatan yang cocok dari tabel kiri. Untuk baris di tabel kanan yang tidak memiliki pasangan di tabel kiri, hasilnya akan menyertakan nilai NULL pada kolom-kolom tabel kiri.
-- LEFT JOIN: semua karyawan, termasuk yang tidak punya departemen
SELECT employees.name, departments.dept_name
FROM employees
LEFT JOIN departments
ON employees.dept_id = departments.dept_id;
-- RIGHT JOIN: semua departemen, termasuk yang tidak punya karyawan
SELECT employees.name, departments.dept_name
FROM employees
RIGHT JOIN departments
ON employees.dept_id = departments.dept_id;
Untuk melihat nuansanya lebih dekat, baca panduan kami SQL LEFT JOIN vs. LEFT OUTER JOIN.
4. Mengapa join penting dalam manajemen SQL?
SQL joins sangat penting dalam manajemen SQL karena beberapa alasan, antara lain:
- SQL JOIN adalah metode kunci untuk mengintegrasikan beberapa tabel agar mudah dibaca dan dianalisis.
- Join menyediakan cara yang efisien dan mudah diakses untuk mengakses dan menggabungkan informasi di basis data Anda.
- Menggunakan JOIN dapat mengurangi penggunaan data dan penyimpanan pada basis data.
5. Apa itu OUTER JOIN?
OUTER JOIN mengembalikan nilai yang cocok dan yang tidak cocok dari salah satu atau kedua tabel. LEFT JOIN, RIGHT JOIN, dan FULL JOIN semuanya merupakan jenis OUTER JOIN. Untuk perbandingan mendetail, lihat tutorial SQL INNER JOIN vs. OUTER JOIN kami.
6. Apa itu INNER JOIN?
INNER JOIN hanya mengembalikan catatan yang memenuhi kondisi join yang ditetapkan di kedua (atau semua) tabel. Ini adalah join bawaan (default) di SQL.
7. Apa itu CROSS JOIN?
CROSS JOIN membuat produk Kartesius, artinya setiap baris dari tabel pertama digabungkan dengan setiap baris dari tabel kedua. Ini menghasilkan himpunan data dengan jumlah baris sama dengan hasil kali jumlah baris di kedua tabel.
8. Apakah mungkin meng-join tabel SQL dengan dirinya sendiri?
Ya, ini biasanya dilakukan melalui apa yang disebut self-join. Self-join adalah jenis JOIN yang digunakan untuk membandingkan baris dalam tabel yang sama. Berbeda dari kueri SQL JOIN lainnya yang menggabungkan dua atau lebih tabel, self-join menggabungkan sebuah tabel dengan dirinya sendiri.
9. Apa perbedaan antara FULL JOIN dan CROSS JOIN?
FULL JOIN mengembalikan semua catatan dari kedua tabel, termasuk catatan yang cocok dari kondisi ON. Jika tidak ada kecocokan, ia menyertakan semua baris dengan mengisi kolom yang tidak cocok dengan nilai NULL.
Sebaliknya, CROSS JOIN mengembalikan semua kemungkinan kombinasi dari semua baris di kedua tabel, menghasilkan produk Kartesius. Ini biasanya menghasilkan tabel yang jauh lebih besar daripada hasil FULL JOIN, karena tidak bergantung pada kondisi apa pun untuk membatasi keluaran.
10. Apa tujuan penggunaan alias dalam SQL JOIN?
Saat kueri makin kompleks, nama bisa menjadi panjang dan sulit dikelola. Untuk membantu memperjelas, kita dapat menggunakan alias untuk memberikan nama baru pada item dalam kueri, termasuk kolom dan tabel. Untuk memberi alias pada sebuah objek, kita dapat menggunakan klausa AS.
10 Pertanyaan Wawancara SQL Joins Tingkat Lanjut
11. Apa itu EQUI JOIN?
EQUI JOIN adalah jenis operasi join di basis data yang menggabungkan baris dari dua atau lebih tabel berdasarkan kondisi pencocokan menggunakan operator kesetaraan (=). Ini digunakan untuk mengambil data ketika nilai pada kolom tertentu sama.
EQUI JOIN mengembalikan hasil yang sama dengan INNER JOIN namun dengan sintaks berbeda, seperti ditunjukkan pada contoh berikut:
SELECT COURSES.name, TECHNOLOGIES.name
FROM COURSES, TECHNOLOGIES
WHERE COURSES.technology_id = TECHNOLOGIES.technology_id;
SELECT COURSES.name, TECHNOLOGIES.name
FROM COURSES
INNER JOIN TECHNOLOGIES
ON COURSES.technology_id = TECHNOLOGIES.technology_id;
12. Apa perbedaan antara klausa ON dan USING dalam sebuah join?
Biasanya Anda akan menggunakan kata kunci ON untuk menentukan kolom umum di dua tabel guna melakukan join. Ketika kolom yang digunakan untuk join memiliki nama yang sama di kedua tabel, klausa USING dapat digunakan sebagai cara singkat.
Sebagai contoh, jika tabel COURSES dan TECHNOLOGIES memiliki kolom bersama bernama ‘technology_id’, Anda dapat menggunakan kueri berikut
SELECT * FROM COURSES
JOIN TECHNOLOGIES
USING (technology_id);
13. Apa itu NATURAL JOIN?
NATURAL JOIN digunakan untuk membuat JOIN berdasarkan kolom bersama di dua tabel. Kolom bersama adalah kolom yang memiliki nama yang sama di kedua tabel.
Merujuk contoh pada pertanyaan sebelumnya, kita dapat menulis kueri yang sama sebagai berikut:
SELECT * FROM COURSES
NATURAL JOIN TECHNOLOGIES
14. Apa perbedaan antara klausa JOIN dan klausa UNION?
Klausa JOIN digunakan untuk menggabungkan data ke dalam kolom-kolom baru berdasarkan kolom umum dari dua atau lebih tabel.
Sebaliknya, klausa UNION digunakan untuk menggabungkan data ke dalam baris-baris baru, berdasarkan hasil dari dua atau lebih pernyataan SELECT. Dengan kata lain, UNION digunakan untuk menggabungkan himpunan data secara baris. Untuk mencegah kesalahan, setiap pernyataan SELECT di dalam UNION harus memiliki jumlah kolom yang sama, dan kolom-kolomnya juga harus memiliki tipe data yang serupa. Untuk ikhtisar lengkap operasi terkait, lihat panduan kami tentang operator himpunan di SQL.
15. Apa itu semi-join?
Kueri Semi Join umumnya dijalankan dalam bentuk subquery di mana baris diambil hanya dari tabel pertama (kiri) berdasarkan suatu kondisi (atau sekumpulan kondisi) yang cocok di tabel kedua. Berbeda dengan join biasa yang menyertakan baris yang cocok dari kedua tabel, semi-join hanya menyertakan kolom dari tabel kiri dalam hasil.
-- Semi-join menggunakan EXISTS: temukan pelanggan yang sudah melakukan pemesanan
SELECT customer_id, customer_name
FROM customers
WHERE EXISTS (
SELECT 1 FROM orders
WHERE orders.customer_id = customers.customer_id
);
16. Apa itu anti-join?
Anti-join, juga dikenal sebagai anti-semi-join, merupakan kebalikan dari semi-join. Dalam Anti Join, baris diambil dari tabel pertama berdasarkan kondisi (atau sekumpulan kondisi) yang tidak cocok di tabel kedua.
-- Anti-join menggunakan NOT EXISTS: temukan pelanggan yang belum pernah memesan
SELECT customer_id, customer_name
FROM customers
WHERE NOT EXISTS (
SELECT 1 FROM orders
WHERE orders.customer_id = customers.customer_id
);
17. Apa perbedaan antara klausa INTERSECT dan INNER JOIN?
INNER JOIN menggabungkan data dari dua atau lebih tabel berdasarkan hubungan yang ditentukan, biasanya menggunakan kolom atau field bersama sebagai kondisi join. Hasilnya adalah himpunan data yang menyertakan baris di mana kondisi join terpenuhi.
Sebaliknya, klausa INTERSECT tidak memerlukan hubungan tabel langsung. Sebagai gantinya, ia bekerja dengan pernyataan SELECT lengkap, dan hanya mengembalikan baris yang sama-sama muncul pada kedua hasil. Untuk menggunakan klausa INTERSECT, pernyataan SELECT harus memiliki jumlah kolom yang sama dan tipe data yang kompatibel.
18. Pertimbangan kinerja apa yang perlu diperhatikan saat menggunakan CROSS JOIN?
Karena CROSS JOIN mengembalikan kombinasi berpasangan dari setiap baris tabel pertama dengan setiap baris tabel kedua, ini dapat menghasilkan tabel yang sangat besar, terutama jika tabel yang di-join sudah besar. Jadi, berhati-hatilah saat menggunakan CROSS JOIN karena berpotensi tinggi mengonsumsi sumber daya yang besar dan memicu masalah kinerja.
19. Apa yang Anda pahami dengan conditional JOIN?
Conditional join adalah teknik yang kuat untuk menggabungkan data dari beberapa tabel berdasarkan kondisi tertentu, sehingga pengguna dapat membuat kueri yang lebih dinamis dan fleksibel. Conditional join membantu administrator basis data mendefinisikan kueri kustom yang dapat menyertakan pernyataan tambahan, termasuk fungsi agregasi, operator perbandingan, dan operator logika.
20. Apa perbedaan antara klausa WHERE dan ON dalam SQL JOIN?
Tujuan klausa ON adalah untuk menentukan kondisi join, dengan kata lain, untuk mendefinisikan bagaimana tabel harus digabungkan. Secara khusus, Anda mendefinisikan bagaimana catatan harus dipasangkan.
Sebaliknya, klausa WHERE digunakan untuk menentukan kondisi penyaringan, yakni mendefinisikan baris mana yang harus dipertahankan dalam himpunan hasil. JOIN yang menyertakan kondisi penyaringan dapat dianggap sebagai conditional JOIN.
Untuk memahami urutan lengkap bagaimana SQL memproses kueri—termasuk kapan ON dan WHERE dievaluasi—lihat panduan kami tentang urutan eksekusi SQL.
Perbandingan Berbagai Jenis SQL JOIN
Tabel di bawah ini memberikan perbandingan yang ringkas dan jelas tentang berbagai jenis SQL JOIN, sehingga memudahkan pembaca memahami skenario spesifik di mana masing-masing jenis JOIN dapat diterapkan:
| Jenis JOIN | Definisi | Kasus Penggunaan |
|---|---|---|
| INNER JOIN | Hanya mengembalikan baris yang memiliki nilai yang cocok di kedua tabel. | Digunakan saat Anda perlu mengambil catatan dengan nilai yang cocok di kedua tabel. Umum digunakan untuk menggabungkan data yang saling terkait melalui foreign key. |
| LEFT JOIN (LEFT OUTER JOIN) | Mengembalikan semua baris dari tabel kiri dan baris yang cocok dari tabel kanan. Baris di tabel kiri yang tidak memiliki pasangan di tabel kanan akan berisi NULL. | Berguna untuk mengambil semua catatan dari tabel kiri, dengan data yang cocok di tabel kanan jika tersedia. Sering digunakan saat Anda perlu menemukan semua entri di satu tabel dan melihat apakah ada entri yang sesuai di tabel lain. |
| RIGHT JOIN (RIGHT OUTER JOIN) | Mengembalikan semua baris dari tabel kanan dan baris yang cocok dari tabel kiri. Baris di tabel kanan yang tidak memiliki pasangan di tabel kiri akan berisi NULL. | Mirip dengan LEFT JOIN tetapi berfokus pada tabel kanan. Digunakan saat Anda membutuhkan semua catatan dari tabel kanan terlepas dari ada tidaknya pasangan di tabel kiri. |
| FULL JOIN (FULL OUTER JOIN) | Mengembalikan semua baris ketika ada kecocokan pada catatan tabel kiri atau kanan. Jika tidak ada kecocokan, hasilnya adalah NULL pada sisi yang tidak memiliki pasangan. | Berguna untuk menggabungkan data yang ada di salah satu tabel dan menangkap data yang tidak cocok dari kedua tabel. |
| SELF JOIN | Join di mana sebuah tabel di-join dengan dirinya sendiri. | Digunakan saat Anda perlu membandingkan baris dalam tabel yang sama, seperti menemukan hubungan pada data hierarkis atau membandingkan nilai di berbagai baris. |
| CROSS JOIN | Menghasilkan produk Kartesius dari dua tabel, yang berarti menggabungkan setiap baris tabel pertama dengan setiap baris tabel kedua. | Biasanya digunakan saat Anda memerlukan semua kombinasi dari dua himpunan data, seperti menghasilkan data uji atau mengeksplorasi semua kemungkinan kombinasi. |
Mempersiapkan Wawancara SQL Joins Anda
Persiapan menyeluruh untuk wawancara SQL Anda sangat penting agar lolos tahap ini dalam proses rekrutmen. Seperti yang telah kita lihat, ada cukup banyak jenis join yang perlu dipelajari. Jika Anda menginginkan panduan ramah pemula tentang SQL joins, kami sangat merekomendasikan membaca Introduction to SQL Joins. Atau, jika Anda ingin pemahaman yang solid tentang joins, cara terbaik untuk mempelajarinya adalah dengan berlatih. Lihat Joining Data in SQL Course kami untuk meningkatkan kueri Anda menggunakan table joins dan teori himpunan relasional.
Namun masih banyak hal yang bisa dibahas tentang SQL joins. Dalam sebagian besar wawancara SQL, ini hanyalah salah satu dari banyak topik yang akan ditanyakan pewawancara untuk menguji kefasihan SQL Anda. Untuk membantu Anda membiasakan diri dengan pertanyaan wawancara SQL yang paling umum, saya telah menyusun panduan berikut:
- 84 Pertanyaan dan Jawaban Wawancara SQL Teratas untuk 2026
- 45 Pertanyaan Wawancara PostgreSQL Teratas untuk Semua Tingkat
- 28 Pertanyaan Wawancara Data Scientist Teratas untuk Semua Tingkat
- 30 Pertanyaan Wawancara SQL Server Teratas (2026)
- 34 Pertanyaan dan Jawaban Wawancara MySQL Teratas untuk 2026
Karena tingginya ketidakpastian dalam proses wawancara, tahap ini bisa membuat stres. Pada akhirnya, mengetahui pertanyaan hanyalah sebagian dari cerita. Sisanya adalah mengetahui bagaimana bersikap selama wawancara.
Untuk membantu Anda menaklukkan wawancara, berikut beberapa kiat dan trik.
- Tidak ada yang mengharapkan Anda tahu segalanya. Tidak memiliki keterampilan tertentu itu wajar. Jika perusahaan meminta solusi dalam R, tetapi Anda hanya tahu caranya di Python, tunjukkan bagaimana Anda dapat menyelesaikan masalah dengan Python dan kemauan Anda untuk belajar R.
- Pikirkan sebelum menjawab. Mintalah waktu lebih jika pertanyaannya memerlukannya. Ini menunjukkan bahwa Anda menanggapi pertanyaan mereka dengan serius. Namun, jangan lakukan untuk setiap pertanyaan.
- Jelaskan mengapa peran Anda penting bagi perusahaan. Terkadang, terutama di perusahaan kecil, mereka mungkin belum sepenuhnya tahu mengapa membutuhkan data scientist. Jika demikian, tekankan bagaimana Anda dapat meningkatkan visibilitas dan keuntungan perusahaan dengan menyempurnakan produk yang ada atau menciptakan solusi baru.
- Setiap industri berbeda. Bekerja sebagai profesional data di berbagai domain bisa sangat berbeda. Perusahaan biotek berbeda dari penyedia layanan cloud. Luangkan waktu untuk memahami kekhasan domain perusahaan dan tunjukkan bahwa Anda ingin belajar. Namun, pada dasarnya siapa pun bekerja dengan data, dan data dapat didekati dengan cara yang serupa tak peduli industrinya.
- Menangani penolakan. Itu adalah realitas pasar kerja yang kompetitif saat ini. Belajarlah dari kesalahan, terus pelajari keterampilan baru, dan tingkatkan yang lama. Mintalah saran dari karyawan yang lebih senior, terutama jika mereka bekerja di bidang data science. Anda juga bisa meminta umpan balik dari pewawancara jika Anda belum berhasil saat melamar sebuah peran.
Kesimpulan
Selamat! Saya harap daftar pertanyaan SQL JOIN yang sering ditanyakan ini membantu Anda mempersiapkan diri dan sukses di wawancara. Semoga beruntung dalam wawancara SQL Anda yang akan datang.
Sambil menunggu, jika Anda merasa perlu lebih percaya diri dengan keterampilan SQL Anda, DataCamp siap membantu. Di bawah ini, Anda dapat menemukan daftar beberapa kursus, track, dan materi SQL khusus kami untuk membantu Anda melatih keterampilan:

Saya adalah analis data lepas yang berkolaborasi dengan perusahaan dan organisasi di seluruh dunia dalam proyek ilmu data. Saya juga instruktur ilmu data dengan pengalaman lebih dari 2 tahun. Saya rutin menulis artikel terkait ilmu data dalam bahasa Inggris dan Spanyol, beberapa di antaranya telah diterbitkan di situs tepercaya seperti DataCamp, Towards Data Science, dan Analytics Vidhya. Sebagai ilmuwan data dengan latar belakang ilmu politik dan hukum, tujuan saya adalah bekerja pada irisan kebijakan publik, hukum, dan teknologi, memanfaatkan kekuatan gagasan untuk mendorong solusi serta narasi inovatif yang dapat membantu kita menghadapi tantangan mendesak, khususnya krisis iklim. Saya menganggap diri saya seorang autodidak, pembelajar sepanjang hayat, dan pendukung kuat pendekatan multidisipliner. Tidak pernah ada kata terlambat untuk mempelajari hal baru.
