Bayangkan Anda perlu mencari produk yang harganya di atas rata-rata harga semua produk. Atau mencari pelanggan yang pernah melakukan pembelian di atas nilai tertentu. Untuk kebutuhan seperti ini, Anda memerlukan Subquery — yaitu query yang ditulis di dalam query lainnya. Subquery adalah salah satu fitur SQL paling powerful yang wajib Anda kuasai. Artikel ini membahas cara menggunakannya di berbagai situasi.
Apa Itu Subquery?
Subquery (disebut juga inner query atau nested query) adalah SELECT yang ditempatkan di dalam query lain. Query yang "membungkus" subquery disebut outer query. Subquery selalu diapit tanda kurung () dan biasanya dieksekusi lebih dulu sebelum outer query.
Persiapan Data Contoh
CREATE TABLE produk (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(150) NOT NULL,
kategori VARCHAR(50),
harga DECIMAL(10,2) NOT NULL,
stok INT DEFAULT 0
) ENGINE=InnoDB;
CREATE TABLE penjualan (
id INT AUTO_INCREMENT PRIMARY KEY,
id_produk INT NOT NULL,
jumlah INT NOT NULL,
tanggal DATE NOT NULL
) ENGINE=InnoDB;
INSERT INTO produk (nama, kategori, harga, stok) VALUES
('Laptop ASUS', 'Elektronik', 9500000, 10),
('Mouse Logitech', 'Elektronik', 350000, 50),
('Keyboard Mechanical', 'Elektronik', 750000, 30),
('Meja Kayu', 'Furnitur', 2200000, 5),
('Kursi Ergonomis', 'Furnitur', 3500000, 8),
('Buku MySQL', 'Buku', 95000, 100),
('Monitor 27"', 'Elektronik', 4800000, 15);
INSERT INTO penjualan (id_produk, jumlah, tanggal) VALUES
(1, 2, '2024-01-10'), (2, 10, '2024-01-11'),
(3, 5, '2024-01-12'), (1, 1, '2024-01-13'),
(5, 2, '2024-01-14'), (7, 3, '2024-01-15');
Artikel ini ditampilkan sebagian. Untuk pembahasan selengkapnya, beserta contoh dan langkah detailnya, Anda dapat membacanya pada sumber aslinya:
Cara Menggunakan Subquery di MySQL
Tutorial pemrograman dan tools developer lainnya juga tersedia di dhiecoderweb.com.
Top comments (0)