Pertanyaan Wawancara untuk Pengembang SQL: Q&A Wawancara SQL Umum- Bagian 3

Dalam SQL, jenis apa yang joins telah Anda gunakan, dan jelaskan cara kerjanya?

Menjawab:

  • INNER JOIN: Mengembalikan baris dengan data yang cocok dari kedua tabel.
  • LEFT JOIN: Mengembalikan semua baris dari tabel kiri dan mencocokkan baris dari tabel kanan.
  • RIGHT JOIN: Mengembalikan semua baris dari tabel kanan dan mencocokkan baris dari tabel kiri.
  • FULL JOIN: Mengembalikan semua baris dari kedua tabel, termasuk baris yang tidak cocok.

 

Jelaskan konsep ACID dalam SQL dan perannya dalam manajemen transaksi

Jawaban: ACID adalah singkatan dari Atomicity, Consistency, Isolation, Durability. Ini adalah properti penting dalam manajemen transaksi di SQL:

  • Atomicity memastikan bahwa transaksi diproses sepenuhnya atau tidak diproses sama sekali.
  • Consistency memastikan bahwa data harus mematuhi aturan, batasan, dan kondisi yang ditentukan.
  • Isolation memastikan bahwa transaksi bersamaan tidak mengganggu satu sama lain.
  • Durability memastikan bahwa setelah transaksi selesai, perubahan dalam database disimpan secara aman dan permanen.

 

Apa perbedaan antara ROW_NUMBER(), RANK(), DENSE_RANK() fungsi dalam SQL?

Jawaban: ROW_NUMBER(), RANK(), DENSE_RANK() semuanya digunakan untuk menomori baris dalam hasil kueri, tetapi memiliki perbedaan sebagai berikut:

  • ROW_NUMBER(): Menetapkan angka kontinu ke baris dalam hasil kueri, tanpa mempertimbangkan duplikat.
  • RANK(): Menetapkan nomor ke baris dalam hasil kueri dan melewatkan nomor berikutnya jika ada kesamaan.
  • DENSE_RANK(): Menetapkan nomor ke baris dalam hasil kueri dan tidak melewatkan nomor berikutnya jika ada kesamaan.

 

Cara menggunakan window functions dalam SQL, dan memberikan contoh.

Jawaban: Window functions memungkinkan melakukan perhitungan pada satu set baris terkait tanpa mengubah hasil kueri utama. Misalnya, kita dapat menggunakan fungsi jendela untuk menghitung total berjalan atau mengambil N baris teratas dalam kumpulan hasil.

SELECT ProductID, UnitPrice,   
       SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal  
FROM Products;  

 

Cara menggunakan ekspresi reguler dalam SQL untuk pencocokan pola

Jawaban: Ekspresi reguler dalam SQL digunakan untuk pencarian pola teks yang kompleks. Mereka sering digunakan dengan LIKE operator atau fungsi seperti REGEXP_LIKE(di Oracle) atau REGEXP_MATCHES(di PostgreSQL).

SELECT * FROM Employees WHERE LastName LIKE '%son%';

 

Cara menggunakan fungsi JSON di SQL untuk bekerja dengan data JSON

Jawaban: Fungsi JSON dalam SQL memungkinkan untuk membuat kueri, memasukkan, memperbarui, dan menghapus data dalam format JSON di database.

Misalnya, kita dapat menggunakan fungsi seperti JSON_VALUE, JSON_QUERY, JSON_MODIFY(di SQL Server), atau operator seperti ->, ->>, #>, #>>, dll.(di PostgreSQL) untuk memanipulasi properti JSON.

SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName  
FROM Customers;  

 

Teknik lanjutan untuk pengoptimalan kueri SQL dan penyetelan kinerja basis data

Jawaban: Untuk mengoptimalkan kueri SQL dan kinerja basis data, kita dapat menggunakan teknik seperti:

  • Menggunakan indeks untuk kolom yang sering ditanyakan.
  • Mengoptimalkan JOIN dan WHERE klausa untuk pengambilan data yang efisien.
  • Memanfaatkan fungsi jendela dan paginasi bila perlu.
  • Menghindari SELECT * untuk mengambil hanya kolom yang diperlukan.
  • Menggunakan petunjuk kueri dalam beberapa kasus.
  • Memastikan normalisasi data dan menghapus duplikat.
  • Menggunakan alat pemantauan kinerja untuk melacak dan menyempurnakan database.

 

Jelaskan cara menggunakan SET operasi (UNION, INTERSECT, EXCEPT) di SQL

Jawaban: SET operasi (UNION, INTERSECT, EXCEPT) digunakan untuk menggabungkan dan memanipulasi kumpulan hasil dari kueri yang berbeda.

  • UNION: Menggabungkan hasil dari dua kueri atau lebih ke dalam satu kumpulan data dan menghapus duplikat.
  • INTERSECT: Mengembalikan baris yang muncul di kedua kumpulan hasil kueri.
  • EXCEPT: Mengembalikan baris yang muncul di kumpulan hasil kueri pertama tetapi tidak muncul di kumpulan hasil kueri kedua.

 

Cara menggunakan fungsi kueri seperti LEAD, LAG, FIRST_VALUE, LAST_VALUE di SQL

Jawaban: Fungsi kueri seperti LEAD, LAG, FIRST_VALUE, LAST_VALUE digunakan untuk mengambil nilai dari baris terkait dalam hasil kueri yang sama.

  • LEAD: Mendapatkan nilai kolom dari baris berikutnya dalam hasil kueri.
  • LAG: Mendapatkan nilai kolom dari baris sebelumnya dalam hasil kueri.
  • FIRST_VALUE: Mengambil nilai pertama kolom dalam hasil kueri.
  • LAST_VALUE: Mengambil nilai terakhir dari kolom dalam hasil kueri.