loading...
Join adalah perintah SQL yang berfungsi untuk melakukan relasi antara kedua tabel atau lebih yang saling memiliki hubungan / relasi ( ditandai dengan adanya primary key pada tabel master dan foregn key pada tabel transaksi ).
Ada beberap jenis join dimana diantaranya adalah :
1. Inner Join
2. Outer Join
Tetapi pada dasarnya jika ingin menggabungkan kedua tabel atau lebih maka cukup menggunakan perintah JOIN saja maka tabel akan saling berelasi asalkan data yang direlasikan benar.
Selain menggunakan Join cara lain untuk menghubungkan antara tabel dapat juga digunakan perintah WHERE.
Beberapa contoh penggunaan JOIN dan WHERE :
Perhatikanlah gambar Data Relation Diagram tersebut dengan beberapa tabel yang saling berhubungan dimana tabelnya adalah tabel krs, matakuliah, mahasiswa dan dosen.
Silahkan anda buat database nya dengan nama "db_mahasiswa". Bagi yang belum tau cara membuat database di MySQL silahkan baca cara membuat database dengan MySQL. Dengan struktur sebagai berikut:
Tabel KRS
Tabel MHS
Tabel MTK
Tabel Dosen
Membuat tabel KRS
Ketikkan perintah berikut:
Hasilnya:
Membuat tabel MHS
Ketikkan perintah berikut:
Hasilnya:
3. Insert data ke dalam table DOSEN
Perbedaan perintah LEFT JOIN dengan RIGHT JOIN adalah LEFT JOIN menggabungkan data master dan data transaksi dengan menampilkan seluruh data pada tabel master sedangkan RIGHT JOIN menampilkan data master dan data transaksi hanya yang saling berelasi saja, dan memiliki transaksi pada tabel KRS.
Ada beberap jenis join dimana diantaranya adalah :
1. Inner Join
2. Outer Join
- Right Join
- Left Join
Tetapi pada dasarnya jika ingin menggabungkan kedua tabel atau lebih maka cukup menggunakan perintah JOIN saja maka tabel akan saling berelasi asalkan data yang direlasikan benar.
Selain menggunakan Join cara lain untuk menghubungkan antara tabel dapat juga digunakan perintah WHERE.
Beberapa contoh penggunaan JOIN dan WHERE :
Perhatikanlah gambar Data Relation Diagram tersebut dengan beberapa tabel yang saling berhubungan dimana tabelnya adalah tabel krs, matakuliah, mahasiswa dan dosen.
Data Relation Diagram |
Silahkan anda buat database nya dengan nama "db_mahasiswa". Bagi yang belum tau cara membuat database di MySQL silahkan baca cara membuat database dengan MySQL. Dengan struktur sebagai berikut:
Tabel KRS
Field
|
Type
Data
|
Keterangan
|
No_krs
|
Int(5)
|
Nomor KRS,Primary key
|
Nim
|
Char(4)
|
Nomor induk mahasiswa
|
Kd_dosen
|
Varchar(4)
|
Kode dosen
|
Kd_mtk
|
Varchar(6)
|
Kode mata kuliah
|
Smster
|
Varchar(2)
|
Semester
|
Tabel MHS
Field
|
Type
Data
|
Keterangan
|
Nim
|
Char(4)
|
Nomor induk mahasiswa,Primary key
|
Nm_mhs
|
Varchar(5)
|
Nama mahasiswa
|
Kelas
|
Varchar(1)
|
Kelas mahasiswa
|
Shift_kul
|
Varchar(5)
|
Shift kuliah
|
Angkatan
|
Varchar(4)
|
Angkatan
|
Tabel MTK
Field
|
Type
Data
|
Keterangan
|
Kd_mtk
|
Char(5)
|
Kode mata kuliah, Primary key
|
Nm_mtk
|
Varchar(5)
|
Nama Mata Kuliah
|
Tabel Dosen
Field
|
Type
Data
|
Keterangan
|
Kd_dosen
|
Char(5)
|
Kode dosen, Primary key
|
Nm_dosen
|
Varchar(5)
|
Nama dosen
|
Membuat tabel KRS
Ketikkan perintah berikut:
create table krs( no_krs int(5) primary key auto_increment, nim char(4)not null, kd_dosen varchar(4)not null, kd_mtk varchar(6)not null, smster varchar(2)not null);
Hasilnya:
Membuat tabel MHS
Ketikkan perintah berikut:
create table mhs( nim char(4)not null primary key, nm_mhs varchar(5)not null, kelas varchar(1)not null, shift_kul varchar(5)not null, angkatan varchar(4)not null);
Hasilnya:
insert into krs (nim,kd_dosen,kd_mtk,smster)values ('M001','D001','MTK001','2'), ('M002','D002','MTK001','2'), ('M001','D003','MTK002','2'), ('M003','D004','MTK001','2');
3. Insert data ke dalam table DOSEN
insert into dosen values ('D001','DS A'), ('D002','DS B'), ('D003','DS C'), ('D004','DS D');
Pada hasil relasi dengan menggunakan WHERE terdapat 4 record dengan Mahasiswa hanya ada 3 mahasiswa saja. Bukan 5 mahasiswa ? kenapa karena pada tabel KRS mahasiswa D dan E tidak memiliki data transaksi yang dapat direlasikan dengan tabel mahasiwa.
2. Membuat relasi antar tabel dengan menggunakan INNER JOIN
select mhs.*,krs.* from mhs INNER JOIN krs on mhs.nim=krs.nim;
Hasilnya:
Menghubungakan tabel dengan menggunkan perintah WHERE dan INNER JOIN hasilnya sama.
3. Membuat relasi antar tabel dengan menggunakan OUTER JOIN
Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data yang NULL(kosong) di satu sisi. Sebagai contoh, kita akan menggabungkan tabel KRS dan MHS dimana kita akan menampilkan data mahasiswa yang pernah melakukan pengisian KRS (transaksi). Outer Join terbagi menjadi 2(dua) yaitu LEFT JOIN dan RIGHT JOIN.
Berikut ini bentuk umum dan contohnya:
LEFT JOIN:
select mhs.*,krs.* from mhs LEFT JOIN krs on mhs.nim=krs.nim;
Hasilnya:
RIGHT JOIN:
select mhs.*,krs.* from mhs RIGHT JOIN krs on mhs.nim=krs.nim;
Hasilnya:
2. Membuat relasi antar tabel dengan menggunakan INNER JOIN
select mhs.*,krs.* from mhs INNER JOIN krs on mhs.nim=krs.nim;
Hasilnya:
Menghubungakan tabel dengan menggunkan perintah WHERE dan INNER JOIN hasilnya sama.
3. Membuat relasi antar tabel dengan menggunakan OUTER JOIN
Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data yang NULL(kosong) di satu sisi. Sebagai contoh, kita akan menggabungkan tabel KRS dan MHS dimana kita akan menampilkan data mahasiswa yang pernah melakukan pengisian KRS (transaksi). Outer Join terbagi menjadi 2(dua) yaitu LEFT JOIN dan RIGHT JOIN.
Berikut ini bentuk umum dan contohnya:
LEFT JOIN:
select mhs.*,krs.* from mhs LEFT JOIN krs on mhs.nim=krs.nim;
Hasilnya:
RIGHT JOIN:
select mhs.*,krs.* from mhs RIGHT JOIN krs on mhs.nim=krs.nim;
Hasilnya:
Perbedaan perintah LEFT JOIN dengan RIGHT JOIN adalah LEFT JOIN menggabungkan data master dan data transaksi dengan menampilkan seluruh data pada tabel master sedangkan RIGHT JOIN menampilkan data master dan data transaksi hanya yang saling berelasi saja, dan memiliki transaksi pada tabel KRS.
loading...
0 Komentar Penggunaan Perintah JOIN Pada MySQL
Post a Comment