PERTEMUAN KE-4
MATERI :
1. JOIN
2. SUBQUERY
PRAKTIKUM
1. JOIN
Dalam rancangan database yang sudah memenuhi kaidah NORMALISASI, pemecahan tabel
sudah pasti dilakukan. Untuk keperluan menampilkan data yang terpisah dalam relasi tersebut,
salah satu cara adalah dengan mempergunakan perintah JOIN. Dalam banyak kasus (tidak
selalu) perintah join biasanya melibatkan dua tabel yang memiliki field salaing berhubungan
sebagai primary key dan secondary key.
Langkah Praktikum :
1. Buatlah perintah SQL untuk menampilkan location ID, street address, city, state or
province, dan country. Catatan : tampilkan dulu struktur tabel Locations dan tabel
Countries agar mengetahui field-field yang terlibat relasi diantara keduanya.
3. Buatlah perintah SQL untuk menampilkan pegawai yang lokasi kerjanya di toronto.
Tampilkan last_name, job_id, department_id, dan department_name untuk semua yang
bekerja di Toronto.
6. NONEQUIJOINS
Buat perintah tabel JOB_GRADES seperti berikut ini :
DESC JOB_GRADES
SELECT e.last_name, e.job_id, d.department_name,e.salary,
j.grade_level
FROM employees e JOIN departments d
ON (e.department_id = d.department_id) JOIN job_grades j
ON (e.salary BETWEEN j.lowest_sal AND j.highest_sal);
7. Buatlah perintah SQL yang akan menampilkan seluruh data karyawan yang masuk
kerjanya setelah ‘Davies’. Data masuk kerja ada di tabel hire_date.
2. SUBQUERY
Sintaks umum :
SubQuery akan dieksekusi terlebih dahulu, kemudian hasilnya akan dipergunakan untuk
filtering main query.
Langkah Praktikum :
1. Contoh sederhana pemakaian sub query :
3. Buatlah perintah SQL untuk menampilkan data karyawan dengan kriteria besar gaji yang
diterima diatas rata-rata gaji yang diterima.
5. Buatlah perintah SQL yang akan menampilkan semua data karyawan yang terdiri dari
last_name, department_id dan job_id :
6. Buatlah perintah SQL yang akan menampilkan data karyawan yang menjadi anak buah
king.
7. Buatlah perintah SQL untuk membuat tabel emp01 yang berisi first_name, last_name
dan salary dengan tipe data dan lebar tipe data serta isinya sama dengan tabel
employees.
8. Hapus seluruh data yang ada dalam emp01. Selanjutnya tambahkan data yang ada
dalam tabel employees ke dalam tabel emp01.
INSERT ALL
INTO emp_sal VALUES(employee_id, last_name, salary,
commission_pct)
INTO emp_dept VALUES(employee_id, last_name, department_id,
manager_id)
SELECT employee_id, last_name, salary, commission_pct,
department_id, manager_id FROM employees;
12. Buatlah perintah SQL untuk menampilkan tiga besar perolehan gaji tertinggi.
SELECT ROWNUM, last_name, salary
FROM (SELECT last_name, salary FROM employees ORDER BY salary
DESC)
WHERE ROWNUM<=3;