Soalan Temu Bual untuk Pembangun SQL: Soal Jawab Temu Bual Biasa SQL- Bahagian 3

Dalam SQL, apakah jenis yang joins telah anda gunakan dan terangkan cara ia berfungsi?

Jawapan:

  • INNER JOIN: Mengembalikan baris dengan data yang sepadan daripada kedua-dua jadual.
  • LEFT JOIN: Mengembalikan semua baris dari jadual kiri dan baris yang sepadan dari jadual kanan.
  • RIGHT JOIN: Mengembalikan semua baris dari jadual kanan dan baris yang sepadan dari jadual kiri.
  • FULL JOIN: Mengembalikan semua baris daripada kedua-dua jadual, termasuk baris yang tidak sepadan.

 

Terangkan konsep ACID dalam SQL dan peranannya dalam pengurusan transaksi

Jawapan: ACID bermaksud Atomicity, Consistency, Isolation, Durability. Ini adalah sifat penting dalam pengurusan transaksi dalam SQL:

  • Atomicity memastikan bahawa urus niaga sama ada diproses sepenuhnya atau tidak diproses sama sekali.
  • Consistency memastikan bahawa data mesti mematuhi peraturan, kekangan dan syarat yang ditetapkan.
  • Isolation memastikan transaksi serentak tidak mengganggu antara satu sama lain.
  • Durability memastikan bahawa setelah transaksi selesai, perubahan dalam pangkalan data disimpan dengan selamat dan kekal.

 

Apakah perbezaan antara ROW_NUMBER(), RANK(), DENSE_RANK() fungsi dalam SQL?

Jawapan: ROW_NUMBER(), RANK(), DENSE_RANK() semuanya digunakan untuk menomborkan baris dalam hasil pertanyaan, tetapi mereka mempunyai perbezaan berikut:

  • ROW_NUMBER(): Menetapkan nombor berterusan pada baris dalam hasil pertanyaan, tanpa mengambil kira pendua.
  • RANK(): Menetapkan nombor pada baris dalam hasil pertanyaan dan melangkau nombor seterusnya sekiranya berlaku ikatan.
  • DENSE_RANK(): Menetapkan nombor pada baris dalam hasil pertanyaan dan tidak melangkau nombor seterusnya sekiranya berlaku ikatan.

 

Bagaimana untuk menggunakan window functions dalam SQL, dan berikan contoh.

Jawapan: Window functions benarkan melakukan pengiraan pada set baris yang berkaitan tanpa mengubah hasil pertanyaan utama. Sebagai contoh, kita boleh menggunakan fungsi tetingkap untuk mengira jumlah berjalan atau mendapatkan semula N baris teratas dalam set hasil.

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

 

Cara menggunakan ungkapan biasa dalam SQL untuk padanan corak

Jawapan: Ungkapan biasa dalam SQL digunakan untuk carian corak teks yang kompleks. Ia sering digunakan dengan LIKE pengendali atau fungsi seperti REGEXP_LIKE(dalam Oracle) atau REGEXP_MATCHES(dalam PostgreSQL).

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

 

Cara menggunakan fungsi JSON dalam SQL untuk berfungsi dengan data JSON

Jawapan: Fungsi JSON dalam SQL membenarkan pertanyaan, memasukkan, mengemas kini dan memadam data dalam format JSON dalam pangkalan data.

Sebagai contoh, kita boleh menggunakan fungsi seperti JSON_VALUE, JSON_QUERY, JSON_MODIFY(dalam SQL Server), atau operator seperti ->, ->>, #>, #>>, dsb.(dalam PostgreSQL) untuk memanipulasi sifat JSON.

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

 

Teknik lanjutan untuk pengoptimuman pertanyaan SQL dan penalaan prestasi pangkalan data

Jawapan: Untuk mengoptimumkan pertanyaan SQL dan prestasi pangkalan data, kita boleh menggunakan teknik seperti:

  • Menggunakan indeks untuk lajur yang sering ditanya.
  • Mengoptimumkan JOIN dan WHERE klausa untuk mendapatkan semula data yang cekap.
  • Menggunakan fungsi tetingkap dan penomboran apabila perlu.
  • Mengelakkan SELECT * untuk mendapatkan semula lajur yang diperlukan sahaja.
  • Menggunakan petunjuk pertanyaan dalam beberapa kes.
  • Memastikan penormalan data dan mengalih keluar pendua.
  • Menggunakan alat pemantauan prestasi untuk menjejak dan memperhalusi pangkalan data.

 

Terangkan cara menggunakan SET operasi (UNION, INTERSECT, EXCEPT) dalam SQL

Jawapan: SET operasi (UNION, INTERSECT, EXCEPT) digunakan untuk menggabungkan dan memanipulasi set hasil pertanyaan yang berbeza.

  • UNION: Menggabungkan hasil dua atau lebih pertanyaan ke dalam satu set data dan mengalih keluar pendua.
  • INTERSECT: Mengembalikan baris yang muncul dalam kedua-dua set hasil pertanyaan.
  • EXCEPT: Mengembalikan baris yang muncul dalam set hasil pertanyaan pertama tetapi tidak dalam set kedua.

 

Cara menggunakan fungsi pertanyaan seperti LEAD, LAG, FIRST_VALUE, LAST_VALUE dalam SQL

Jawapan: Fungsi pertanyaan seperti LEAD, LAG, FIRST_VALUE, LAST_VALUE digunakan untuk mendapatkan semula nilai daripada baris yang berkaitan dalam hasil pertanyaan yang sama.

  • LEAD: Mendapat nilai lajur daripada baris seterusnya dalam hasil pertanyaan.
  • LAG: Mendapat nilai lajur daripada baris sebelumnya dalam hasil pertanyaan.
  • FIRST_VALUE: Mendapatkan nilai pertama lajur dalam hasil pertanyaan.
  • LAST_VALUE: Mendapatkan nilai terakhir lajur dalam hasil pertanyaan.