Kembali ke Katalog
Back to Catalog
Solved
+25 pts
SQL
SQL Joins & Relational
Medium
SQL 03. Relasi Data Pesanan & Pelanggan (INNER JOIN) SQL 03. Orders & Customers Relation (INNER JOIN)
Gabungkan data transaksi pesanan dengan tabel pelanggan menggunakan INNER JOIN. Join orders and customers relational tables via INNER JOIN.
Contoh Logika Serupa: Relasi Mahasiswa & Jurusan Similar Pattern Example: Student & Department Join
Referensi KodeMenghubungkan dua tabel dengan foreign key, memilih kolom dari kedua tabel, dan mengurutkan hasilnya: Joining two tables on foreign keys with column selection and ordering:
-- Contoh menggabungkan tabel students (s) dan departments (d)
SELECT s.nim, s.student_name, d.department_name, s.gpa
FROM students s
INNER JOIN departments d ON s.department_id = d.id
WHERE s.status = 'ACTIVE'
ORDER BY s.gpa DESC;
Langkah & Spesifikasi Tugas Step-by-Step Requirements
1
Relasikan tabel
orders o dan customers c dengan syarat: ON o.customer_id = c.id.
2
Pilih 4 kolom keluaran:
o.order_number, c.customer_name, o.amount, dan o.status.
3
Filter pesanan lunas: Tambahkan kondisi
WHERE o.status = 'PAID'.
4
Urutkan dari tagihan tertinggi ke terendah:
ORDER BY o.amount DESC.
1
Join condition:
ON o.customer_id = c.id.
2
Select 4 columns:
o.order_number, c.customer_name, o.amount, o.status.
3
Filter condition:
WHERE o.status = 'PAID'.
4
Sort descending:
ORDER BY o.amount DESC.Contoh Kasus & Ketentuan Example Cases & Rules
- Tabel:
ordersdancustomers - Pastikan kolom order_number dan customer_name berpasangan dengan benar.
- Tables:
ordersandcustomers - Ensure correct key linkage between orders and customers.
Database Schema Setup
In-Memory SQLiteCREATE TABLE customers (id INT PRIMARY KEY, customer_name VARCHAR(100), city VARCHAR(50));
CREATE TABLE orders (id INT PRIMARY KEY, customer_id INT, order_number VARCHAR(50), amount INT, status VARCHAR(20));
INSERT INTO customers VALUES (1, 'Bagas Praditya', 'Jakarta'), (2, 'Dewi Sartika', 'Bandung'), (3, 'Rian Hidayat', 'Surabaya');
INSERT INTO orders VALUES (101, 1, 'ORD-2026-001', 750000, 'PAID'), (102, 2, 'ORD-2026-002', 300000, 'PENDING'), (103, 1, 'ORD-2026-003', 1200000, 'PAID'), (104, 3, 'ORD-2026-004', 450000, 'PAID');
Target Output (Expected) Expected Output
[
{
"order_number": "ORD-2026-003",
"customer_name": "Bagas Praditya",
"amount": 1200000,
"status": "PAID"
},
{
"order_number": "ORD-2026-001",
"customer_name": "Bagas Praditya",
"amount": 750000,
"status": "PAID"
},
{
"order_number": "ORD-2026-004",
"customer_name": "Rian Hidayat",
"amount": 450000,
"status": "PAID"
}
]
Petunjuk Pengerjaan:
- Gunakan alias tabel: `FROM orders o INNER JOIN customers c ON o.customer_id = c.id`.
- Klausa `WHERE o.status = 'PAID'` ditulis setelah perintah JOIN.
- Tambahkan `ORDER BY o.amount DESC`.
SELECT o.order_number, c.customer_name, o.amount, o.status FROM orders o INNER JOIN customers c ON o.customer_id = c.id WHERE o.status = 'PAID' ORDER BY o.amount DESC;
query.sql
✨ Kode dirapikan!
Test Case #
Target:
Output:
Pesan:
Login Diperlukan
Masuk dengan akun Google untuk mengeksekusi kodingan & query sandbox di server secara interaktif.