𝗦𝗢𝗔𝗟 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗦𝗤𝗟 𝗗𝗶 𝗦𝗼𝗹𝘃𝗲𝗿𝗶𝗻𝗲𝘀 𝗧𝗲𝗰𝗵𝗻𝗼𝗹𝗼𝗴𝘆
Saya baru-baru ini selesai menjalani temu duga teknikal di Solverines Technology Solutions. Pusingan SQL memfokuskan kepada pengambilan rekod dan penomboran baris. Saya juga berhadapan dengan masalah logik tentang menukar status mentol (bulb toggling).
Berikut adalah corak SQL yang perlu anda ketahui.
Andaikan sebuah jadual Employee dengan emp_id dan emp_name.
Dapatkan rekod terakhir: SELECT * FROM Employee ORDER BY emp_id DESC LIMIT 1;
Dapatkan baris ke-3: SELECT * FROM Employee ORDER BY emp_id LIMIT 1 OFFSET 2; Formula: LIMIT 1 OFFSET (N - 1).
Dapatkan baris ke-3 dari akhir: SELECT * FROM Employee ORDER BY emp_id DESC LIMIT 1 OFFSET 2;
Gunakan ROW_NUMBER() untuk corak baris tertentu.
Dapatkan baris ganjil ke-2: SELECT * FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY emp_id) AS rn FROM Employee) t WHERE rn = (2 * 2 - 1); Formula untuk baris ganjil ke-N: rn = (2 * N - 1).
Dapatkan baris genap ke-3: SELECT * FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY emp_id) AS rn FROM Employee) t WHERE rn = (2 * 3); Formula untuk baris genap ke-N: rn = (2 * N).
Masalah Logik: Menukar Status Mentol (Bulb Toggling)
Masalah ini meminta anda menukar status N mentol melalui K operasi. Setiap operasi memberikan anda indeks mula i dan indeks akhir j. 0 menjadi 1. 1 menjadi 0.
Contoh: N = 5, K = 2. Operasi 1: indeks 1 hingga 3. Operasi 2: indeks 2 hingga 4.
Permulaan: 0 0 0 0 0 Selepas Op 1: 0 1 1 1 0 Selepas Op 2: 0 1 0 0 1 Keputusan akhir: 0 1 0 0 1.
Pengajaran Temu Duga:
Temu duga ini menguji topik SQL berikut:
- Mencari rekod terakhir.
- Mencari baris ke-N dari permulaan atau akhir.
- Menggunakan ROW_NUMBER() untuk baris genap atau ganjil.
- Manipulasi tatasusunan (array) untuk masalah logik.
Praktikkan corak ini jika anda seorang pembangun baharu atau junior.