Tugas Basis Data Lanjut
Tugas Basis Data Lanjut
NAMA :AL-FAHMI
KELAS :3C
NPM :2371020002
#Buat Database
CREATE DATABASE dbpenjualanonline
#Buat Table
CREATE TABLE customers (
customer_id INT PRIMARY KEY AUTO_INCREMENT,
nama VARCHAR(50),
email VARCHAR(100),
phone VARCHAR(15),
address VARCHAR(100),
city VARCHAR(50),
state VARCHAR(5),
postal_code VARCHAR(10)
);
INSERT INTO customers (nama, email, phone, address, city, state, postal_code)
VALUES
('John Doe', '[email protected]', '1234567890', '123 Maple St.', 'New York',
'NY', '10001'),
('Jane Smith', '[email protected]', '0987654321', '456 Oak Ave.',
'Boston', 'MA', '02118'),
('Mark Johnson', '[email protected]', '1122334455', '789 Pine Dr.',
'Chicago', 'IL', '60601'),
('Emma Watson', '[email protected]', '2233445566', '321 Elm St.', 'Los
Angeles', 'CA', '90001'),
('Michael Brown', '[email protected]', '3344556677', '654 Cedar Ln.',
'Houston', 'TX', '77002'),
('Olivia Wilson', '[email protected]', '4455667788', '987 Birch Blvd.',
'Seattle', 'WA', '98101'),
('Lucas Martinez', '[email protected]', '5566778899', '246 Palm St.',
'Miami', 'FL', '33101'),
('Ava Davis', '[email protected]', '6677889900', '135 Willow Cir.', 'Denver',
'CO', '80201'),
('Noah Anderson', '[email protected]', '7788990011', '369 Fir Way',
'Phoenix', 'AZ', '85001'),
('Sophia Clark', '[email protected]', '8899001122', '753 Redwood Dr.',
'Atlanta', 'GA', '30301');
# 4. Menampilkan Riwayat Pemesanan dan Produk yang Dibeli dalam Rentang Waktu
Tertentu :
SELECT
customers.customer_id,
customers.nama,
orders.order_id,
orders.order_date,
products.product_name,
order_items.quantity,
order_items.price,
payments.payment_method,
payments.payment_status,
shipping.shipping_method,
shipping.shipping_status
FROM customers
INNER JOIN orders ON customers.customer_id = orders.customer_id
INNER JOIN order_items ON orders.order_id = order_items.order_id
INNER JOIN products ON order_items.product_id = products.product_id
INNER JOIN payments ON orders.order_id = payments.order_id
INNER JOIN shipping ON orders.order_id = shipping.order_id
WHERE
orders.order_date BETWEEN '2024-09-22' AND '2024-09-25'
ORDER BY
orders.order_date;
SELECT
products.product_id,
products.product_name,
SUM(order_items.quantity) AS total_quantity_sold,
SUM(order_items.price * order_items.quantity) AS total_revenue
FROM
products
INNER JOIN order_items ON products.product_id = order_items.product_id
GROUP BY
products.product_id, products.product_name
ORDER BY
total_quantity_sold DESC;
SELECT product_name
FROM products
WHERE product_id IN (
SELECT order_items.product_id
FROM order_items
WHERE order_items.order_id IN (
SELECT orders.order_id
FROM orders
WHERE orders.customer_id = 1
)
);
SELECT product_name
FROM products
WHERE product_id NOT IN (
SELECT product_id
FROM order_items
);
# 5. Menampilkan Produk dengan Harga Lebih Tinggi dari Rata-rata Harga Semua
Produk
SELECT (
SELECT COUNT(*)
FROM order_items
WHERE order_id IN (
SELECT order_id
FROM orders
WHERE customer_id = 1
)
) AS total_items_bought;