Judul : Memahami Query JOIN dalam MySQL
link : Memahami Query JOIN dalam MySQL
Memahami Query JOIN dalam MySQL
Misalnya dalam sebuah database terdapat dua buah tabel dan informasi di dalamnya ingin kita gabungkan untuk ditampilkan.
Dua tabel yang ingin kita gabungkan :
user dan kursus
Tabel user
Query
Tabel kursus
Query
JOIN atau INNER JOIN akan menampilkan informasi yang ada dalam tabel user dan juga ada dalam tabel kursus.
query :
Dengan LEFT JOIN baris pada tabel user yang tidak mempunyai hubungan dengan tabel kursus pun akan ditampilkan. Bagan berikut ini akan membantu kita lebih memahami tentan LEFT JOIN ini.
Query :
Hasilnya :
Query :
Hasilnya :
Dari penjelasan di atas kita bisa membuat sebuah query untuk menghitung jumlah user yang telah mendaftar di sebuah kursus.
Hasilnya :
Dua tabel yang ingin kita gabungkan :
user dan kursus
Tabel user
| id | user | kursus |
|---|---|---|
1 | Ahmad | 1 |
2 | Joni | 2 |
3 | Doni | 3 |
4 | Mirna | 3 |
5 | Sinta | NULL |
Query
CREATE TABLE user(
id SMALLINT(5) unsigned NOT NULL AUTO_INCREMENT,
nama VARCHAR(30) NOT NULL,
kursus SMALLINT(5) DEFAULT NULL,
PRIMARY KEY (id) );
Tabel kursus
| id | kursus |
|---|---|
| 1 | HTML |
| 2 | PHP |
| 3 | CSS |
| 4 | Javascript |
| 5 | MySQL |
Query
CREATE TABLE kursus(
id SMALLINT(5) unsigned NOT NULL AUTO_INCREMENT,
nama VARCHAR (50) NOT NULL,
PRIMARY KEY (id) );
JOIN
Sekarang kita akan mencoba permainan JOIN ini. Permainan pertama kita adalah INNER JOIN atau JOIN saja. Bagan berikut mungkin dapat membantu kita memahami konsep dari JOIN atau INNER JOIN iniJOIN atau INNER JOIN akan menampilkan informasi yang ada dalam tabel user dan juga ada dalam tabel kursus.
query :
SELECT user.nama, kursus.namaHasilnya :
FROM user
JOIN kursus ON user.kursus = kursus.id;
| nama (dari tabel user) | nama (dari tabel kursus) |
|---|---|
| Ahmad | HTML |
| Joni | PHP |
| Doni | CSS |
| Mirna | CSS |
LEFT JOIN
Apa jadinya apabila dalam tabel user ada seorang user yang belum mendaftar pada satu kursuspun. Dalam query JOIN atau INNER JOIN di atas user yang belum mendaftar tidak ditampilkan. Yang ditampilkan adalah user yang sudah mendaftar karena JOIN akan menampilkan hasil dimana baris dari tabel user mempunyai hubungan dengan baris di tabel kursus.Dengan LEFT JOIN baris pada tabel user yang tidak mempunyai hubungan dengan tabel kursus pun akan ditampilkan. Bagan berikut ini akan membantu kita lebih memahami tentan LEFT JOIN ini.
Query :
SELECT user.nama, kursus.nama
FROM user
LEFT JOIN kursus ON user.kursus = kursus.id;
Hasilnya :
| nama (dari tabel user) | nama (dari tabel kursus) |
|---|---|
| Ahmad | HTML |
| Joni | PHP |
| Doni | CSS |
| Mirna | CSS |
| Sinta | NULL |
RIGHT JOIN
Apa yang akan dihasilkan oleh RIGHT JOIN, kita sudah bisa menebaknya bukan?Query :
SELECT user.nama, kursus.nama
FROM user
RIGHT JOIN kursus ON user.kursus = kursus.id;
Hasilnya :
| nama (dari tabel user) | nama (dari tabel kursus) |
|---|---|
| Ahmad | HTML |
| Joni | PHP |
| Doni | CSS |
| Mirna | CSS |
| NULL | Javascript |
| NULL | MySQL |
Dari penjelasan di atas kita bisa membuat sebuah query untuk menghitung jumlah user yang telah mendaftar di sebuah kursus.
SELECT kursus.nama COUNT(user.nama)
FROM kursus
LEFT JOIN user ON user.kursus = kursus.id
GROUP BY kursus.id;
Hasilnya :
| nama (dari tabel kursus) | COUNT (dari tabel user) |
|---|---|
| HTML | 1 |
| PHP | 1 |
| CSS | 2 |
| Javascript | 0 |
| MySQL | 0 |
OUTER JOIN atau FULL OUTER JOIN
Pilihan terakhir kita ada OUTER JOIN atau FULL OUTER JOIN. Semua informasi akan digabungkan tidak peduli apakah informasi dalam baris tersebut$ mempunyai hubungan atau tidak dalam kedua tabel. Karena itu query ini jarang dipergunakan, lebih efektif bila kita menggunakan UNION. Tetapi tidak ada salahnya apabila kita bereksperimen dengan query ini.Demikianlah Artikel Memahami Query JOIN dalam MySQL
Sekianlah artikel Memahami Query JOIN dalam MySQL kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.
Anda sekarang membaca artikel Memahami Query JOIN dalam MySQL dengan alamat link https://infoasikindo.blogspot.com/2013/05/memahami-query-join-dalam-mysql.html



0 Response to "Memahami Query JOIN dalam MySQL"
Post a Comment