Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE Kategori (
- id INT PRIMARY KEY,
- nama_kategori VARCHAR(255)
- );
- CREATE TABLE Pengunjung (
- id INT PRIMARY KEY,
- nama VARCHAR(255),
- alamat VARCHAR(255),
- no_ktp VARCHAR(255),
- no_hp VARCHAR(255),
- email VARCHAR(255)
- );
- CREATE TABLE Buku (
- id INT PRIMARY KEY,
- judul VARCHAR(255),
- pengarang VARCHAR(255),
- penerbit VARCHAR(255),
- isbn VARCHAR(255),
- tahun_terbit INT,
- jumlah_tersedia INT,
- kategori_id INT,
- FOREIGN KEY (kategori_id) REFERENCES Kategori(id)
- );
- CREATE TABLE Peminjaman (
- id INT PRIMARY KEY,
- pengunjung_id INT,
- buku_id INT,
- tanggal_pinjam DATE,
- tanggal_kembali DATE,
- denda INT,
- FOREIGN KEY (pengunjung_id) REFERENCES Pengunjung(id),
- FOREIGN KEY (buku_id) REFERENCES Buku(id)
- );
- INSERT INTO Kategori (id, nama_kategori) VALUES
- (1, 'Fiksi'),
- (2, 'Non-Fiksi'),
- (3, 'Sains'),
- (4, 'Sejarah'),
- (5, 'Biografi');
- INSERT INTO pengunjung (id, nama, alamat, no_ktp, no_hp, email) VALUES
- INSERT INTO Buku (id, judul, pengarang, penerbit, isbn, tahun_terbit, jumlah_tersedia, kategori_id) VALUES
- (1, 'Buku 1', 'Pengarang 1', 'Penerbit 1', 'ISBN 1', 2020, 5, 1),
- (2, 'Buku 2', 'Pengarang 2', 'Penerbit 2', 'ISBN 2', 2018, 3, 1),
- (3, 'Buku 3', 'Pengarang 3', 'Penerbit 3', 'ISBN 3', 2019, 7, 2),
- (4, 'Buku 4', 'Pengarang 4', 'Penerbit 4', 'ISBN 4', 2021, 2, 2),
- (5, 'Buku 5', 'Pengarang 5', 'Penerbit 5', 'ISBN 5', 2022, 4, 3),
- (6, 'Buku 6', 'Pengarang 6', 'Penerbit 6', 'ISBN 6', 2020, 6, 3),
- (7, 'Buku 7', 'Pengarang 7', 'Penerbit 7', 'ISBN 7', 2017, 1, 4),
- (8, 'Buku 8', 'Pengarang 8', 'Penerbit 8', 'ISBN 8', 2018, 9, 4),
- (9, 'Buku 9', 'Pengarang 9', 'Penerbit 9', 'ISBN 9', 2019, 3, 5),
- (10, 'Buku 10', 'Pengarang 10', 'Penerbit 10', 'ISBN 10', 2021, 5, 5);
- INSERT INTO Peminjaman (id, pengunjung_id, buku_id, tanggal_pinjam, tanggal_kembali, denda) VALUES
- (1, 1, 1, '2023-08-01', '2023-08-08', 0),
- (2, 1, 2, '2023-08-02', '2023-08-09', 0),
- (3, 1, 3, '2023-08-03', '2023-08-10', 0),
- (4, 2, 4, '2023-08-04', '2023-08-11', 0),
- (5, 2, 5, '2023-08-05', '2023-08-12', 0),
- (6, 2, 6, '2023-08-06', '2023-08-13', 0),
- (7, 3, 7, '2023-08-07', '2023-08-14', 0),
- (8, 3, 8, '2023-08-08', '2023-08-15', 0),
- (9, 3, 9, '2023-08-09', '2023-08-16', 0);
- UPDATE Peminjaman SET denda = 5000 WHERE id = 9;
- SELECT judul
- FROM Buku
- LEFT JOIN Peminjaman ON Buku.id = Peminjaman.buku_id
- WHERE Peminjaman.buku_id IS NULL;
- SELECT Pengunjung.nama AS "User", SUM(Peminjaman.denda) AS "Denda"
- FROM Pengunjung
- JOIN Peminjaman ON Pengunjung.id = Peminjaman.pengunjung_id
- WHERE Pengunjung.id = 3
- GROUP BY Pengunjung.nama;
- SELECT Pengunjung.nama AS "User", STRING_AGG(Buku.judul, ', ' ORDER BY Buku.id DESC) AS "Buku"
- FROM Pengunjung
- JOIN Peminjaman ON Pengunjung.id = Peminjaman.pengunjung_id
- JOIN Buku ON Buku.id = Peminjaman.buku_id
- GROUP BY Pengunjung.nama;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement