Anda di halaman 1dari 6

JURNAL

MODUL 6 – JOIN

Saat ini Anda menjadi seorang database administrator di PT. XYZ dimana tugasnya adalah
mengelola database pegawai yang bekerja di perusahaan. Database yang dikelola memiliki
beberapa tabel seperti di bawah ini.

Anda mendapat tugas dari atasan untuk menampilkan data-data dari tabel diatas sesuai
dengan ketentuan pada soal.
Catatan:
import database Jurnal Modul 6 disini
create database m6_jurnal_333;
use m6_jurnal_333;
source <drag and drop dari download>
contoh: source C:\Users\Kiko\Downloads\m5_jurnal_3NIMTERAKHIR.sql
show tables;
1. Tampilkan seluruh title dan jumlah dari karyawan yang ada di jabatan tersebut dan
diurutkan berdasarkan jabatan (Hint : GROUP BY ) (10)

Jawab:
select a.title, count(b.emp_no) as 'Jumlah Karyawan' from
titles as a join employees as b on a.emp_no = b.emp_no
group by a.title order by a.title;

2. Tampilkan first_name last_name, from_date yang bekerja pada departmentnya mulai


1 januari 1995 diurutkan secara Ascending berdasarkan from_date. (10)

Jawab:
select a.first_name, a.last_name, b.from_date from employees a join
dept_emp b on a.emp_no = b.emp_no where b.from_date > '1995-01-
01' order by b.from_date;
3. Tampilkan daftar first_name, title dari karyawan (employees) yang bekerja sebagai
‘Engineer’ (20)

Jawab:
select a.first_name, b.title from employees a join titles b on
a.emp_no = b.emp_no where title like '%engineer';

4. Tampilkan 10 daftar emp_no, first_name dan dept_no seluruh karyawan pada tabel
dept_manager yang karyawannya tidak memiliki dept_no di tabel tersebut dan
emp_no lebih dari 10000 (Hint : LIMIT ) (20)
Jawab:
select a.emp_no, a.first_name, b.dept_no from employees a left join
dept_manager b on a.emp_no = b.emp_no where a.emp_no > 10000
and b.emp_no is null limit 10;
5. Tampilkan first_name, gender, title, dept_name dari suatu employees yang bekerja
sebagai “Manager“ (20)

Jawab:
select a.first_name, a.gender, b.title, c.dept_name from employees a join dept_emp d
on a.emp_no = d.emp_no join titles b on a.emp_no = b.emp_no join departments c on
d.dept_no = c.dept_no where title = 'manager';
6. Tampilkan dept_name serta jumlah karyawan (employees) yang berada di
departemen tersebut diurutkan berdasarkan nama departemen. (Hint: COUNT) (10)

Jawab:

select a.dept_name, count(b.emp_no) as 'Jumlah


Karyawan' from employees b join dept_emp c on
b.emp_no = c.emp_no join departments a on
a.dept_no = c.dept_no group by a.dept_name order
by a.dept_name;

7. Tampilkan emp_no,first_name,title, serta total dari gaji (Salary) tiap karyawan dan
dibatasi 3 data dengan total gaji terbanyak (Hint : LIMIT, SUM ) (10)

Jawab:
select e.emp_no, e.first_name, t.title, sum(s.salary) as salary from employees e
join titles t on e.emp_no = t.emp_no join salaries s on e.emp_no = s.emp_no group
by emp_no order by sum(s.salary) desc limit 3;

Anda mungkin juga menyukai