SOAL dan PERMASALAH
Dalam praktikum ini terdapat 2 permasalahan,
yaitu:
1.
Menu apa saja yang terdapat pada Joint Table
LANDASAN TEORI
Join merupakan sebuah operasi
yang digunakan untuk mendapatkan data gabungan dari dua tabel atau lebih.
Operasi ini digunakan dalam perintah SELECT dan biasanya dipakai untuk
memperoleh detail data dari tabel-tabel yang saling terkait, sedangkan operasi
join yang terdapat pada oracle diantaranya :
Berdasarkan
tanda pembanding pada klausa where :
1.
Equi Join
2.
Non-Equi Join
Berdasarkan data yang dihasilkan :
1.
Inner Join
2.
Outer Join
3.
Self Join
PEMBAHASAN
Langkah – langkah
melakukan praktikum :
a. Jalankan Oracle 10g caranya : All
program Oracle OraDb10g_home1
Application Development SQL Plus
b. Masukkan username : system dan password:
amikom (sesuai dengan password
yang telah dibuat)
1. Untuk menyimpan setiap hasil eksekusi
instruksi sql ke dalam file maka aktifkan
mode spool diikuti parameter
nama file yang akan digunakan untuk menyimpan
hasil eksekusi tersebut.
Kemudian untuk menonaktifkan ketikkan SPOOL OFF
2. Aktifkan mode SPOOL dengan mengarahkan ke
folder masing-masing, misal
fina001 maka ketikkan perintah:
SQL > SPOOL
D:\fina001\join.txt
Berikut ini beberapa perintah
join pada oracle :
1. Equi Join
select jual.tgl, jual.id_jual,
pelanggan.nama_plg,
jual.total
from
jual,pelanggan
where
jual.id_plg = pelanggan.id_plg
CATATAN :
pada klausa select, kolom yang ditampilkan diawali dengan nama tabel asal kolom
tersebut dibatasi oleh tanda titik (.) . kemudian pada klausa where, digunakan untuk mendefinisikan kondisi join,
nama tabel harus disebutkan sebelum nama kolom penghubung, jika tidak dapat
menyebabjan error.
2.
Non Equi Join
Berikut
adalah contoh penggunaan non Equi Join
SQL>
create table nilai(
2
kode_nilai varchar2(1),
3
batas_bawah number(2),
4
batas_atas number(3), constraint
PK_nilai primary key(kode_nilai));
5 constraint PK_nilai primary key(kode_nilai));
SQL>
create table mahasiswa(
2 NIM
varchar2(10),
3
nama_mhs varchar2(40),
4
nilai_mhs number(3),
5
id_ketua varchar2(10),
6
constraint PK_mahasiswa primary key(NIM));
Kemudian
berikut ini adalah perintah non equi join pada dua tabel diatas :
SQL>
select m.nama_mhs,
2 m.nilai_mhs,
3 n.kode_nilai,
4 from
mahasiswa m, nilai n
5
where m.nilai_mhs between n.batas_bawah and n.batas_atas;
3.
Left Outer Join
SQL>
select b.kode_brg,
2 b.nama_brg,
3 j.id_jual,
4
from barang b, jual j
5
where b.kode_brg = j.kode_brg (+)
6
order by b.nama_brg;
Penentuan
Left Outer Join maka tanda (+) diletakkan disisi kanan tanda pembanding.
Penentuan
Right Outer Join : tanda (+) diletakkan
disisi kiri tanda pembanding.
4.
Right Outer Join
SQL>
select b.kode_brg,
2 b.nama_brg,
3 j.id_jual,
4
from barang b, jual j
5
where b.kode_brg (+) = j.kode_brg
6
order by b.nama_brg;
5.
Full Outer Join
SQL>
select b.kode_brg,
2 b.nama_brg,
3 j.id_jual,
4
from barang b, jual j
5
where b.kode_brg = j.kode_brg (+)
6 union
7 select
b.kode_brg,
8 b.nama_brg,
9 j.id_jual,
10
from barang b, jual j
11
where b.kode_brg (+) = j.kode_brg;
6.
Self Join
SQL>
select anggota.NIM,
2 anggota.nama_mhs
as”Anggota Kelompok”,
3 ketua.nama_mhs
as “Nama Ketua Kelompok”
4 from
mahasiswa ketua, mahasiswa anggota
5 where
anggota.id_ketua = ketua.NIM;
7.
Natural Join
1.
Select kode_brg,
2.
nama_brg,
3.
id_jual
4.
from barang natural join jual
8.
Klausa Using
SQL>
select kode_brg,
2 nama_brg,
3 harga_jual
4 from
barang inner join jual
5 using
(kode_brg)
6 order
by (kode_brg);
9.
Klausa ON
SQL>
select b.kode_brg,
2 b.nama_brg,
3 j.id_jual
4 from
barang b join jual j
5 on
(b.kode_brg = j.kode_brg)
6 order
by b.kode_brg;
Klausa ON
untuk Non Equi Join:
SQL>
select m.NIM,
2 m.Nama_mhs,
3 n.kode_nilai,
4 m.nilai_mhs
5 from
mahasiswa m join nilai n
6 on
(m.nilai_mhs between n.batas_bawah and n.batas_atas);
10.
Cross Join
SQL>
select b.kode_brg,
2 j.id_jual
3 from
barang b cross join jual j;
11.
Join Banyak Tabel
select b.kode_brg,
b.nama_brg,
p.nama_plg,
j.id_jual
from barang b,
pelanggan p,
jual j
where
b.kode_brg = j.kode_brg
and p.id_plg
= j.id_plg
order by p.nama_plg,
b.kode_brg
KESIMPULAN
Kesimpulan dari praktikum ini
adalah :
Perintah JOIN
sangat beguna khususnya dalam menggabungkan beberapa tabel atau lebih sehingga
para pengguna tidak akan merasa kesulitan dalam menggabungkan tabel yang saling
terkait
ijin copas buat tugas:) terimakasih
BalasHapusijin copas buat tugas:) terimakasih
BalasHapus