ardifx01 Profile Photo
Muhammad Nadhif

Topik SQL yang Wajib Dikuasai untuk Wawancara Data Science

dhiff
dhiff
Topik SQL yang Wajib Dikuasai untuk Wawancara Data Science

SQL tetap menjadi bahasa paling penting yang harus dikuasai oleh setiap calon Data Scientist. Selain Python dan statistik, kemampuan menulis query yang efisien dan bersih sering menjadi penentu sukses atau tidaknya dalam wawancara Data Science. Artikel ini membahas topik SQL terpenting yang wajib kamu pahami, lengkap dengan contoh query dan alasan mengapa hal itu sering muncul di interview.

Gambaran Visual: Hierarki Topik SQL

Berikut ilustrasi hubungan antar topik SQL yang sering diuji dalam wawancara: mulai dari dasar SELECT, penggabungan tabel, hingga analisis dengan fungsi jendela.

1. Dasar-Dasar SQL

Topik pertama yang selalu diuji adalah kemampuan dasar: `SELECT`, `WHERE`, `ORDER BY`, dan `LIMIT`. Interviewers ingin melihat apakah kamu paham bagaimana mengambil data secara efisien.

SELECT name, age
FROM employees
WHERE age > 30
ORDER BY age DESC
LIMIT 5;

2. JOIN dan Relasi Antar Tabel

Hampir semua dataset di dunia nyata tersebar di banyak tabel. Karena itu, JOIN menjadi skill penting untuk menggabungkan data dengan benar.

SELECT c.customer_id, o.order_id
FROM customers c
INNER JOIN orders o
  ON c.customer_id = o.customer_id;

JOIN adalah fondasi analitik relasional. Ketahui perbedaan antara INNER, LEFT, RIGHT, dan FULL JOIN.

3. Agregasi & GROUP BY

Setelah menggabungkan data, kamu perlu meringkasnya. Gunakan fungsi agregasi seperti `COUNT()`, `SUM()`, `AVG()`, `MIN()`, dan `MAX()` bersama `GROUP BY`.

SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;

4. Subquery & CTE (Common Table Expressions)

Subquery dan CTE sering digunakan untuk menyusun analisis kompleks menjadi langkah yang lebih mudah dibaca. CTE memudahkan debugging query panjang.

WITH high_earners AS (
  SELECT name, salary
  FROM employees
  WHERE salary > 100000
)
SELECT * FROM high_earners WHERE name LIKE 'A%';

5. Window Functions (Analisis Tingkat Lanjut)

Fungsi jendela memberikan kemampuan analisis tambahan seperti ranking, moving average, dan cumulative sum. Ini topik yang sangat disukai interviewer karena menunjukkan kemampuan analitik SQL tingkat lanjut.

SELECT
  product_id,
  RANK() OVER (PARTITION BY category ORDER BY SUM(amount) DESC) AS rank_in_category
FROM sales
GROUP BY product_id, category
HAVING RANK() <= 3;

6. Soal Populer dan Tips Latihan

Beberapa soal SQL yang paling sering muncul dalam interview: - Gaji tertinggi ke-2 - Pelanggan dengan lebih dari 5 order - Produk dengan penjualan tertinggi per kategori - Karyawan tanpa manajer (NULL manager_id)

-- Gaji tertinggi ke-2
SELECT MAX(salary) AS second_highest
FROM employees
WHERE salary < (SELECT MAX(salary) FROM employees);

-- Pelanggan dengan lebih dari 5 order
SELECT customer_id, COUNT(order_id) AS total_orders
FROM orders
GROUP BY customer_id
HAVING COUNT(order_id) > 5;

Kesimpulan

Untuk wawancara Data Science, fokus pada dasar hingga analisis lanjutan: SELECT, JOIN, GROUP BY, CTE, dan Window Functions. Latihan dengan dataset publik seperti HR Dataset atau Northwind akan membantu kamu menguasai logika bisnis dan efisiensi query.