Ditya Felix - Essay Database
Ditya Felix - Essay Database
A. Employee Case
1. Buatlah sebuah Query untuk menampilkan semua karyawan yang berada pada satu region.
2. Buatlah sebuah Query untuk menampilkan nama job yang memiliki salary paling tunggi
SELECT job_title
FROM job_id
WHERE max_salary = (SELECT MAX(max_salary) FROM job_id);
3. Buatlah sebuah query untuk menampilkan nama karyawan, nama department,
lokasi department(kota dan kode pos), serta nama Negara
Manager :…………………..
Jabatan :…………………..
Departemen :…………………..
History Pekerjaan
END //
DELIMITER ;
B. Bus Case
Status transaksi :
1. Booking
2. Pembayaran
3. Confirm
4. Not confirm
5. Cetak tiket
6. Tidak cetak tiket
7. Check in
8. Not check in
1. Buatlah sebuah Query untuk menampilkan semua costumer_id, nama
costumer, alamat, no telpon contact person-nya, tujuannya yang tidak jadi
berangkat
SELECT
c.customer_id,
c.name AS customer_name,
a.address1 AS address,
co.phone_number AS contact_phone_number,
dt.destinationname AS destination
FROM
Customer c
JOIN
Address a ON c.customer_id = a.customer_id
JOIN
Contact co ON c.customer_id = co.customer_id
JOIN
TransHeader th ON c.customer_id = th.customer_id
JOIN
DestinationTown dt ON th.destinationtown_id = dt.destinationtown_id
WHERE
th.status IN ('Not confirm', 'Not check in')
2. Buatlah sebuah query untuk menampilkan costumer_id, nama costumer yang dia
sudah cetak tiket namun dia belum teraloksikan di bus
SELECT
c.customer_id,
c.name AS customer_name
FROM
Customer c
JOIN
TransHeader th ON c.customer_id = th.customer_id
WHERE
th.status = 'Cetak tiket'
AND th.transheader_id NOT IN (
SELECT DISTINCT transheader_id
FROM Allocation
)
3. Buatlah sebuah query untuk seluruh penumpang bus dengan kode 39, tujuannya
Jogjakarta. Data yang ditampilkan meliputi nama costumer, qty, alamat, no telp,
contact person, nama kursi. Tampilkan terurut dari kursi depan
SELECT
c.name AS customer_name,
th.qty,
a.address1 AS address,
co.phone_number,
co.name AS contact_person,
a2.name AS seat_name
FROM
Customer c
JOIN
TransHeader th ON c.customer_id = th.customer_id
JOIN
Allocation al ON th.transheader_id = al.transheader_id
JOIN
Bus b ON al.bus_id = b.bus_id
JOIN
Address a ON c.customer_id = a.customer_id
JOIN
Contact co ON c.customer_id = co.customer_id
JOIN
Seat s ON al.seat_id = s.seat_id
JOIN
SeatName a2 ON s.seatname_id = a2.seatname_id
JOIN
DestinationTown dt ON th.destinationtown_id = dt.destinationtown_id
WHERE
b.kode_bus = '39'
AND dt.destinationname = 'Jogjakarta'
ORDER BY
s.seat_id
5. Buatlah sebuah procedure untuk menampilkan penumpang bus dan data detail bus
Dengan format sebagai berikut :
Kode Bus:
Plat Bus :……………………
Nama Bus :……………………
Jumlah Kurs :……………………
Jumlah kursi Terisi :
Tujuan :
-- Menampilkan hasil
SELECT
'Kode Bus: ' AS ' ',
bus_id AS ' ',
'Plat Bus: ' AS ' ',
v_plat_bus AS ' ',
'Nama Bus: ' AS ' ',
v_nama_bus AS ' ',
'Jumlah Kursi: ' AS ' ',
v_jumlah_kursi AS ' ',
'Jumlah kursi Terisi: ' AS ' ',
v_jumlah_kursi_terisi AS ' ',
'Tujuan: ' AS ' ',
v_tujuan AS ' '
UNION ALL
SELECT
'Costumer/ikatannya: ' AS ' ',
c.name AS ' ',
'Tgl Daftar: ' AS ' ',
c.start_dtm AS ' ',
'Alamat: ' AS ' ',
a.address1 AS ' ',
'Telp_ContactPerson: ' AS ' ',
co.phone_number AS ' ',
'No Kursi: ' AS ' ',
al.no_kursi AS ' ',
'Inputer: ' AS ' ',
c.userid_insert AS ' '
FROM
Customer c
JOIN
Address a ON c.customer_id = a.customer_id
JOIN
Contact co ON c.customer_id = co.customer_id
JOIN
TransHeader th ON c.customer_id = th.customer_id
JOIN
Allocation al ON th.transheader_id = al.transheader_id
WHERE
al.bus_id = bus_id;
END