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
danWHERE
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.