Semakin ke sini, SQL semakin menunjukkan taringnya sebagai salah satu bahasa pemrograman yang populer, walaupun secara teknis ia bukanlah bahasa pemrograman! Bagaimana hal ini bisa terjadi? Di tutorial ini, saya akan membahas tentang hal tersebut - begitu pun mengenai daftar pertanyaan wawancara SQL untuk membantu Anda mendapatkan karier yang Anda dambakan!
Di tutorial ini, kita akan mengkaji berbagai pertanyaan tingkat dasar maupun lanjut yang kemungkinan besar akan ditanya oleh seorang rekruiter. Setelah itu, kita akan membahas beberapa tips umum untuk diingat sebelum, saat, dan sesudah wawancara kerja.
Daftar Isi
- 1. Dasar-Dasar SQL
- 1.1. Pertanyaan 1: Apa itu SQL?
- 1.2. Pertanyaan 2: Apa perbedaan antara command 'delete' dan 'truncate'?
- 1.3. Pertanyaan 3: Apa itu Server SQL?
- 1.4. Pertanyaan 4: Apa itu MYSQL?
- 1.5. Pertanyaan 5: Apa itu 'tabel' dan 'field'?
- 1.6. Pertanyaan 6: Apa itu 'join'?
- 1.7. Pertanyaan 7: Apa itu 'view'?
- 1.8. Pertanyaan 8: Apa itu 'constraint'?
- 1.9. Pertanyaan 9: Bagaimana Anda menampilkan waktu dan tanggal terbaru menggunakan query SQL?
- 1.10. Pertanyaan 10: Apa itu 'denormalization'?
- 1.11. Pertanyaan 11: Apa itu 'Query'?
- 1.12. Pertanyaan 12: Jelaskan subset yang ada di SQL.
- 1.13. Pertanyaan 13: Apa Anda tahu apa yang dimaksud dengan Primary Key?
- 1.14. Pertanyaan 14: Jelaskan apa yang dimaksud dengan Unique Key.
- 1.15. Pertanyaan 15: Bisakah Anda jelaskan apa yang dimaksud dengan integritas data?
- 2. Daftar Pertanyaan SQL Tingkat Lanjut
- 2.1. Pertanyaan 1: Jelaskan apa yang dimaksud dengan 'index'.
- 2.2. Pertanyaan 2: Apa yang bisa Anda lakukan ketika anda lupa akan root password?
- 2.3. Pertanyaan 3: Apakah NULL value sama dengan nol?
- 2.4. Pertanyaan 4: Apa yang harus Anda lakukan apabila disk data sudah kelebihan beban?
- 2.5. Pertanyaan 5: Apa itu 'auto-increment'?
- 2.6. Pertanyaan 6: Sebutkan komponen-komponen yang menyusun arsitektur MySQL paling dasar.
- 2.7. Pertanyaan 7: Buat tabel kosong dari tabel yang sudah ada.
- 2.8. Pertanyaan 8: Bagaimana caranya untuk mendapatkan versi SQL terbaru?
- 2.9. Pertanyaan 9: Bagaimana caranya untuk mendapatkan catatan ganjil alternatif dari tabel?
- 2.10. Pertanyaan 10: Coba pilih unique record dari tabel.
- 2.11. Pertanyaan 11: Jelaskan variabel-variabel SQL.
- 2.12. Pertanyaan 12: Apa itu 'datawarehouse'?
- 2.13. Pertanyaan 13: Apa kegunaan dari 'recursive stored procedure'?
- 2.14. Pertanyaan 14: Bagaimana caranya Anda mendapatkan tiga karakter pertama dari character string?
- 2.15. Pertanyaan 15: Coba dapatkan common record dari dua tabel.
- 3. Tips Umum
- 4. Kesimpulan
Dasar-Dasar SQL
Seperti yang saya sebutkan sebelumnya, mari kita mulai dari yang paling dasar dan juga salah satu pertanyaan wawancara yang paling umum.
Penawaran Terakhir yang Aktif Saat Ini:
GET 50% OFF
DataCamp Black Friday Sale
During this DataCamp Black Friday, you can access the top-rated courses with a 50% discount. Enroll now for way less!
Pertanyaan 1: Apa itu SQL?
Di paragraf awal, saya menyebutkan bahwa SQL bukanlah bahasa pemrograman. Lalu termasuk kategori apa bahasa yang satu ini?
SQL merupakan singkatan dari Structured Query Language. Ia adalah bahasa manajemen database. Secara teknis, bahasa ini bukanlah bahasa pemrograman, namun standar yang dimilikinya sendiri setara dengan bahasa coding lain - ini mengapa banyak orang menyebutnya sebagai "bahasa pemrograman".
Pertanyaan 2: Apa perbedaan antara command 'delete' dan 'truncate'?
Ini adalah pertanyaan interview SQL lain yang banyak dilontarkan.
Perbedaan utama truncate vs delete adalah command "delete" digunakan untuk menghapus hanya satu baris dalam sebuah tabel, sedangkan "truncate" digunakan untuk menghapus semua baris.
Perbedaan utama lain dari truncate vs delete adalah ketika Anda menggunakan "delete", apabila ada yang salah atau tidak sesuai dengan rencana, Anda dapat melakukan rollback data - hal yang sama tidak bisa dilakukan ketika command "truncate" dijalankan. Selain itu, truncate berfungsi lebih cepat.
Pertanyaan 3: Apa itu Server SQL?
Anda sudah pasti akan mendapatkan beberapa pertanyaan wawancara mengenai Server SQL, oleh karenanya saya sudah memasukkan beberapa di antaranya di tutorial ini.
Server SQL adalah Database Management System (DBMS). Ia berfungsi untuk mengumpulkan dan menganalisis data, memperbarui dan mengadministrasikan database.
Pertanyaan 4: Apa itu MYSQL?
Sama seperti Server SQL, pertanyaan seputar MySQL pun sering muncul saat wawancara kerja mengenai SQL.
MySQL adalah sistem manajemen database berbasis sumber terbuka. Sistem ini menyediakan berbagai fungsi dan antarmuka berbeda, memiliki fasilitas lintas platform dan berbagai alat yang dapat membantu pekerjaan Anda.
Pertanyaan 5: Apa itu 'tabel' dan 'field'?
Jangan sampai terkecoh dengan pertanyaan interview SQL ini. "Tabel" adalah data yang tersusun dan dibagi menjadi baris dan kolom. "Field" adalah jumlah kolom di dalam tabel.
Pertanyaan 6: Apa itu 'join'?
Command "join" digunakan untuk mengkombinasikan berbagai baris dari tabel-tabel yang berbeda. Cara baris-baris tersebut digabungkan bergantung pada kolom terkait. Dengan command ini, Anda dapat menggabungkan dua tabel menjadi satu, atau mentransfer data dari satu tabel ke tabel lain.
Secara keseluruhan, terdapat empat tipe "join": inner, full, left, dan right.
Pertanyaan 7: Apa itu 'view'?
"View" adalah representasi visual dari "tabel". Lebih dari itu, view dapat menunjukkan dan mengkombinasikan data dari lebih dari satu tabel - Fungsinya sangat bergantung pada situasi dan relasi data yang ada.
Pertanyaan 8: Apa itu 'constraint'?
"Constraint" adalah command yang digunakan untuk menggarisbawahi dan memperinci jumlah tipe data tertentu yang ada di dalam satu tabel.
Pertanyaan 9: Bagaimana Anda menampilkan waktu dan tanggal terbaru menggunakan query SQL?
Pertanyaan wawancara SQL yang berkaitan dengan poin "bagaimana" seperti ini pun cukup umum, sehingga tidak akan sukar bagi Anda untuk menemukannya saat wawancara.
SQL memiliki command bawaan GetDate() yang mencari dan menampilkan waktu dan tanggal terkini.
Pertanyaan 10: Apa itu 'denormalization'?
Denormalization (denormalisasi) adalah proses ketika Anda mengakses database dari form tingkat atas ke form yang lebih rendah. Proses ini dijalankan untuk meningkatkan performa database.
Pertanyaan 11: Apa itu 'Query'?
Jawaban dari pertanyaan ini mungkin terlihat sangat jelas di depan mata - ya benar.
Seperti nama dari istilah di atas, query berarti pertanyaan. Pertanyaan ini dikirim ke database via kode khusus untuk mendapatkan informasi tertentu.
Pertanyaan 12: Jelaskan subset yang ada di SQL.
Terdapat tiga subset yang harus Anda ketahui untuk menjawab pertanyaan wawancara SQL ini:
- Data Definition Language - subset ini memungkinkan operasi seperti Create (menciptakan), Delete (menghapus), dan Alter (mengubah) objek.
- Data Manipulation Language - subset ini berguna untuk memasukkan, memperbarui, dan mengambil data dari database atau menghapus data tersebut.
- Data Control Language - subset ini digunakan untuk mengatur akses terhadap database. Hal ini dapat digunakan baik untuk mengizinkan atau menolak akses.
Pertanyaan 13: Apa Anda tahu apa yang dimaksud dengan Primary Key?
Primary key adalah kolom atau serangkaian kolom yang secara unik membedakan antara satu baris dengan baris lainnya di tabel.
Pertanyaan 14: Jelaskan apa yang dimaksud dengan Unique Key.
Unique Key adalah hal yang secara unik mengidentifikasi satu baris tunggal di tabel sama seperti yang telah disebutkan di penjelasan mengenai Primary Key.
Pertanyaan 15: Bisakah Anda jelaskan apa yang dimaksud dengan integritas data?
Integritas data adalah proses yang menentukan akurasi data yang disimpan di dalam database. Setiap kali dimasukkan di dalam aplikasi atau database, integritas data mendefinisikan batasan konsistensi dan integritas dalam menerapkan aturan bisnis pada data yang ada.
Daftar Pertanyaan SQL Tingkat Lanjut
Sekarang kita telah mengkaji berbagai pertanyaan wawancara SQL tingkat dasar. Anda saat ini tentunya sudah mulai mendapatkan gambaran tentang proses interview nanti. Setelah rekruiter menggali pemahaman dasar Anda secara mendalam, ia akan berpindah ke bagian pertanyaan yang lebih teknis. Inilah alasan mengapa Anda harus mempersiapkan diri dengan sungguh-sungguh - mari kita lanjut ke daftar pertanyaan yang lebih menantang.
Pertanyaan 1: Jelaskan apa yang dimaksud dengan 'index'.
Indeks merupakan metode untuk meningkatkan performa, lebih spesifiknya - untuk mendapatkan informasi dari database dengan kecepatan dan efisiensi yang lebih tinggi.
Secara keseluruhan, terdapat tiga tipe indeks - clustered, non-clustered, dan unique.
Indeks clustered menyusun ulang tabel dan mencari informasi dengan menggunakan key value, sedangkan indeks non-clustered digunakan untuk memelihara susunan tabel. Indeks unique mencegah adanya value duplikat pada field.
Tabel hanya bisa memiliki satu indeks clustered, namun dapat terdapat beberapa indeks non-clustered di dalamnya.
Walaupun pertanyaan ini tidak terasa seperti pertanyaan wawancara SQL yang rumit, kesulitannya terletak di dalam proses "menjelaskannya" sendiri. Rekruiter mungkin saja meminta Anda untuk mengelaborasi jawaban atau memberikan Anda pertanyaan follow-up setelahnya.
Pertanyaan 2: Apa yang bisa Anda lakukan ketika anda lupa akan root password?
Apabila Anda lupa mengenai root password Anda, Anda bisa memulai database dengan command "skips-grants-table". Setelah Anda memasukkan password baru, mulai ulang database dengan mode normal, lalu masukkan password baru.
Pertanyaan 3: Apakah NULL value sama dengan nol?
Tidak, tidak sama.
"Nol" merupakan bilangan atau karakter numerik, sedangkan NULL memiliki arti tidak adanya suatu karakter, baik itu karena tidak diketahui atau memang tidak ada. Dengan logika yang sama, NULL pun tidak sama dengan blank space (ruang kosong) karena blank space sendiri merupakan sebuah karakter.
Pertanyaan 4: Apa yang harus Anda lakukan apabila disk data sudah kelebihan beban?
Anda dapat mengalami situasi ini ketika Anda mengisi disk data. Anda tidak dapat melanjutkan pekerjaan apabila isinya sudah melampaui batas.
Yang Anda harus ketahui untuk menjawab pertanyaan wawancara SQL ini adalah di situasi ini Anda harus menggunakan apa yang disebut sebagai soft link. Link tersebut menciptakan lokasi di mana Anda dapat menyimpan file .frm dan .idb - dan itulah yang harus Anda lakukan. Cara tersebut akan menyelesaikan masalah yang berkaitan dengan kelebihan kapasitas.
Pertanyaan 5: Apa itu 'auto-increment'?
"Auto-increment" adalah command yang memungkinkan Anda untuk membuat angka unik untuk catatan baru di dalam tabel.
Keyword ini dapat digunakan di beberapa platform. Karena ada kemungkinan besar Anda akan ditanya mengenai Server SQL, ada satu hal lagi yang harus Anda ketahui - pengganti command "auto increment" di Server SQL adalah "identity".
Pertanyaan 6: Sebutkan komponen-komponen yang menyusun arsitektur MySQL paling dasar.
Pertanyaan lain yang kamu mungkin dapat tentang MySQL adalah mengenai komponen-komponen yang ada di dalamnya. Mari kita berfokus ke pertanyaan mengenai MySQL sejenak.
MySQL paling dasar terdiri atas tiga komponen utama - query optimizer, connection manager, dan pluggable engines.
Pertanyaan 7: Buat tabel kosong dari tabel yang sudah ada.
Salah satu contoh cara melakukannya adalah sebagai berikut:
Select * into employeecopy from employee where 1=2
Pertanyaan 8: Bagaimana caranya untuk mendapatkan versi SQL terbaru?
Mungkin pertanyaan ini terdengar mudah, tetapi banyak orang yang tidak tahu cara menjawabnya karena terlalu menganggap pertanyaan seperti ini dengan remeh.
Cara Anda mendapatkan versi SQL terbaru adalah dengan menjalankan command:
SELECT VERSION()
Pertanyaan 9: Bagaimana caranya untuk mendapatkan catatan ganjil alternatif dari tabel?
Anda dapat melakukannya dengan menggunakan command:
Select employeeId from (Select rowno, employeetId from employee) where mod(rowno,2)=1
Pertanyaan 10: Coba pilih unique record dari tabel.
Cara memilih unique record dari suatu tabel adalah dengan menggunakan command "distinct". Di bawah adalah contohnya:
Select DISTINCT employeeID from Employee
Pertanyaan 11: Jelaskan variabel-variabel SQL.
Nanti saat sesi pertanyaan wawancara SQL tiba, Anda patut ketahui bahwa di SQL, terdapat dua variabel yang berbeda - lokal dan global.
Variabel lokal adalah variabel yang hanya bisa ada di dalam satu fungsi tunggal. Variabel global di sisi lain dapat ada di keseluruhan program.
Pertanyaan 12: Apa itu 'datawarehouse'?
"Datawarehouse" melakukan fungsi layaknya gudang (warehouse) di dunia nyata, hanya saja dalam hal ini yang disimpan adalah data.
Di dalam "datawarehouse", data dari berbagai area dan sumber berbeda disimpan. Lalu data tersebut disusun dan dipersiapkan untuk keperluan lebih lanjut.
Pertanyaan 13: Apa kegunaan dari 'recursive stored procedure'?
Recursive stored procedure adalah ketika suatu prosedur bertindak atas dirinya sendiri sampai ia mencapai boundary yang ditetapkan.
Keuntungan dari tipe prosedur semacam ini adalah programmer dapat menggunakan kode yang sama secara berulang.
Pertanyaan 14: Bagaimana caranya Anda mendapatkan tiga karakter pertama dari character string?
Terdapat beberapa cara untuk melakukan hal tersebut, namun salah satu yang paling mudah dan banyak digunakan adalah:
Select SUBSTRING(EmployeeSurname,1,5) as employeesurname from employee
- Mudah digunakan
- Menawarkan konten berkualitas
- Harga transparan
- Gratis sertifikat penyelesaian
- Fokus pada keahlian data science
- Waktu belajar yang fleksibel
- Desain yang sederhana (tidak ada informasi yang tidak perlu)
- Kursus-kursus berkualitas tinggi (bahkan untuk kategori yang gratis)
- Terdapat berbagai fitur khusus
- Program Nanodegree
- Cocok untuk perusahaan/firma
- Sertifikat kelulusan berbayar
- Cukup terkemuka di pasaran
- Tersedia beragam fitur
- Kursus setingkat universitas
- Kursus setingkat universitas
- Cocok untuk kalangan korporasi
- Sertifikat kelulusan berbayar
Pertanyaan 15: Coba dapatkan common record dari dua tabel.
Anda dapat melakukannya dengan melakukan tugas di bawah:
Select employeeID from employee. INTERSECT Select EmployeeID from WorkShift
Sekarang Anda sudah tidak asing lagi dengan berbagai jenis pertanyaan wawancara SQL, baik yang tingkat dasar maupun lanjut. Mengingat Anda sudah tahu apa yang harus dipersiapkan ketika wawancara, mari kita bahas beberapa tips umum yang patut Anda ingat.
Tips Umum
Saya tidak akan memberi tips klise seperti "tidur yang cukup" atau "pakai dasi yang rapi".
Dalam dunia olahraga, ada satu metode khusus yang sering atlit gunakan sebelum kompetisi. Semakin mendekati waktu perlombaan, para atlit akan menurunkan volume latihan mereka, namun mereka akan meningkatkan intensitas latihan dalam periode yang lebih singkat.
Strategi yang sama pun layak digunakan dalam mempersiapkan daftar pertanyaan wawancara SQL beserta jawabannya. Semakin waktu interview mendekat, Anda tidak perlu menghabiskan terlalu banyak waktu untuk mengingat semuanya. Sekarang Anda tinggal berfokus pada materi yang Anda rasa masih sulit. Anda pun harus menghindari multitasking, minum kopi berlebih, dan lain sebagainya. Hal tersebut akan meredakan tingkat stres menjelang hari H dan Anda akan lebih percaya diri ketika mendatangi interview.
Coba tampil percaya diri. Tapi jangan sampai Anda menimbulkan kesan sombong. Terdapat perbedaan yang besar antara menunjukkan bahwa Anda adalah programmer berpengalaman yang layak dipilih dan mencoba terlihat bagus dengan berlagak seolah-olah kita menguasai semua hal.
Ada waktu ketika kita akan mengalami kegagalan sebelum kita benar-benar berhasil dan mendapatkan pekerjaan impian kita. Anda tidak harus memandang kegagalan sebagai hal yang negatif - semakin banyak interview yang Anda ikuti, semakin banyak pengalaman dan pola yang Anda pelajari mengenai pertanyaan wawancara SQL yang banyak keluar - hal ini akan membuat Anda lebih siap untuk wawancara-wawancara selanjutnya.
Apakah kamu tahu?
Pernahkah Anda bertanya-tanya situs belajar online mana yang terbaik untuk pengembangan karier Anda?
Kesimpulan
Bukan menjadi rahasia lagi bahwa semakin hari banyak perusahaan tertarik untuk mencari para programmer bertalenta di luar sana. Perusahaan-perusahaan tersebut tidak ragu untuk menjanjikan gaji yang besar bagi mereka yang bisa membuktikan keahlian di bidang pemrograman dan juga pengembangan.
SQL adalah salah satu bahasa populer yang saat ini sedang banyak dibutuhkan. Banyak orang yang menyukai bahasa yang satu ini karena kesederhanaannya dan penggunaannya di berbagai bidang yang berbeda. Bahasa ini relatif mudah untuk dipelajari. Keunggulan yang sangat menarik apabila kita melihat reward dan prospek yang menunggu kita di depan nanti.
Banyak pertanyaan berkaitan dengan SQL yang mungkin akan ditanyakan oleh rekruiter nanti. Di tutorial ini, kita telah membahas daftar pertanyaan utama - tapi tetap ini baru mencakup sedikit dari berbagai pertanyaan lain yang mungkin muncul. Kalau Anda benar-benar ingin memulai karier di bidang ini, Anda harus meneliti secara mendalam mengenai berbagai topik yang ada.
Kita telah membahas daftar pertanyaan wawancara SQL tingkat dasar maupun lanjut di panduan ini. Saya pun telah memberikan Anda beberapa tips umum yang berkaitan dengan persiapan wawancara kerja.
Apabila Anda merasa masih perlu untuk meningkatkan keahlian dan pemahaman di bidang SQL, jangan ragu untuk mendaftarkan diri di kursus Tutorial SQL Interaktif kami. Kalau Anda baru saja memulai pembelajaran dari nol, Anda bisa cek kursus SQL untuk Pemula atau Teori SQL di plaftorm kami.