Ing SQL, jinis apa sing joins
sampeyan gunakake, lan nerangake cara kerjane?
Wangsulan:
INNER JOIN
: Ngasilake baris kanthi data sing cocog saka loro tabel.LEFT JOIN
: Ngasilake kabeh larik saka meja kiwa lan larik sing cocog saka meja tengen.RIGHT JOIN
: Ngasilake kabeh larik saka meja tengen lan cocog larik saka meja kiwa.FULL JOIN
: Ngasilake kabeh larik saka loro tabel, kalebu larik sing ora cocog.
Nerangake konsep ACID ing SQL lan perane ing manajemen transaksi
Wangsulan: ACID singkatan saka Atomicity, Consistency, Isolation, Durability
. Iki minangka properti penting ing manajemen transaksi ing SQL:
Atomicity
njamin yen transaksi wis diproses kanthi lengkap utawa ora diproses.Consistency
mesthekake yen data kudu netepi aturan, watesan, lan kahanan sing ditemtokake.Isolation
mesthekake yen transaksi bebarengan ora ngganggu saben liyane.Durability
njamin yen transaksi wis rampung, owah-owahan ing database disimpen kanthi aman lan permanen.
Apa prabédan antarane ROW_NUMBER(), RANK(), DENSE_RANK()
fungsi ing SQL?
Wangsulan: ROW_NUMBER(), RANK(), DENSE_RANK()
Kabeh digunakake kanggo menehi nomer baris ing asil pitakon, nanging beda-beda ing ngisor iki:
ROW_NUMBER()
: Nemtokake nomer terus-terusan menyang baris ing asil pitakon, tanpa nimbang duplikat.RANK()
: Nemtokake nomer menyang baris ing asil pitakon lan ngliwati nomer sabanjure yen ana hubungane.DENSE_RANK()
: Nemtokake nomer menyang baris ing asil pitakon lan ora ngliwati nomer sabanjure yen ana hubungane.
Carane nggunakake window functions
ing SQL, lan menehi conto.
Wangsulan: Window functions
Ngidini nindakake petungan ing sakumpulan baris sing gegandhengan tanpa ngganti asil pitakon utama. Contone, kita bisa nggunakake fungsi jendhela kanggo ngetung total mlaku utawa njupuk N baris ndhuwur ing set asil.
SELECT ProductID, UnitPrice,
SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal
FROM Products;
Cara nggunakake ekspresi reguler ing SQL kanggo cocog pola
Wangsulan: Ekspresi reguler ing SQL digunakake kanggo nggoleki pola teks sing kompleks. Asring digunakake karo LIKE
operator utawa fungsi kaya REGEXP_LIKE
(ing Oracle) utawa REGEXP_MATCHES
(ing PostgreSQL).
SELECT * FROM Employees WHERE LastName LIKE '%son%';
Cara nggunakake fungsi JSON ing SQL kanggo nggarap data JSON
Wangsulan: Fungsi JSON ing SQL ngidini pitakon, nglebokake, nganyari, lan mbusak data ing format JSON ing basis data.
Contone, kita bisa nggunakake fungsi kaya JSON_VALUE, JSON_QUERY, JSON_MODIFY(ing SQL Server), utawa operator kaya ->, ->>, #>, #>>, lan sapiturute(ing PostgreSQL) kanggo ngapusi properti JSON.
SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName
FROM Customers;
Teknik lanjut kanggo optimasi query SQL lan tuning kinerja database
Wangsulan: Kanggo ngoptimalake pitakon SQL lan kinerja database, kita bisa nggunakake teknik kayata:
- Nggunakake indeks kanggo kolom sing kerep ditakoni.
- Ngoptimalake
JOIN
lanWHERE
klausa kanggo njupuk data sing efisien. - Nggunakake fungsi jendhela lan pagination yen perlu.
- Nyingkiri
SELECT
* kanggo njupuk mung kolom perlu. - Nggunakake pitunjuk pitakon ing sawetara kasus.
- Njamin normalisasi data lan mbusak duplikat.
- Nggunakake alat ngawasi kinerja kanggo nglacak lan nyetel database.
Nerangake carane nggunakake SET
operasi (UNION, INTERSECT, EXCEPT)
ing SQL
Wangsulan: SET
operasi (UNION, INTERSECT, EXCEPT)
digunakake kanggo nggabungake lan ngapusi set asil pitakon sing beda.
UNION
: Nggabungake asil saka loro utawa luwih pitakon menyang set data siji lan mbusak duplikat.INTERSECT
: Ngasilake baris sing katon ing loro set asil query.EXCEPT
: Ngasilake baris sing katon ing set asil pitakon pisanan nanging ora ing urutan kapindho.
Cara nggunakake fungsi pitakon kaya LEAD, LAG, FIRST_VALUE, LAST_VALUE
ing SQL
Wangsulan: Fungsi pitakon kaya LEAD, LAG, FIRST_VALUE, LAST_VALUE
digunakake kanggo njupuk nilai saka baris sing ana gandhengane ing asil pitakon sing padha.
LEAD
: Entuk nilai kolom saka baris sabanjure ing asil pitakon.LAG
: Entuk nilai kolom saka baris sadurunge ing asil pitakon.FIRST_VALUE
: Njupuk nilai pisanan saka kolom ing asil pitakonan.LAST_VALUE
: Nompo nilai pungkasan saka kolom ing asil pitakonan.