Apa Itu Left Join Pada MySQL

Apa Itu Left Join Pada MySQL

31

Para tutorial kali ini akan membahas tentang apa itu left join pada mysql dan apa fungsinya.

Pada perintah Left Join akan mengembalikan seluruh baris yang ada pada table kiri (table 1). Sekalipun tidak ada kecocokan pada table kanan (table 2). Contoh saya memiliki 2 table, yakni table buah dan table pembeli. Maka hasil dari penggabungan table kiri dengan kanan adalah seperti ini :

MySQL

+--------------+---------------+

| Buah        | Pembeli       |

+--------------+---------------+

| Pisang       | Lina          |

| Nanas        | Rudi          |

| Semangka     | -             |

| Apel         | Gio           |

| Jeruk        | -             |

+--------------+---------------+

Dapat anda perhatikan dimana pada table kiri (table Buah) menampilkan seluruh data yang ada, sekalipun tidak ada kecocokan (tidak memiliki pembeli) dari table kanan (table Pembeli). Jika anda masih kurang paham juga, gambaran umum dari Left Join adalah seperti contoh gambar di bawah ini :

apa itu left join pada mysql

Aturan sederhana dari penulisan Left Join adalah seperti ini :

MySQL

SELECT kolom_1, kolom_2

FROM table_1

LEFT JOIN table_2

ON table_1.kolom_key = table_2.kolom_key;

Sebelum ke praktek, pertama – tama buat databasenya lebih dulu, namun jika anda telah memiliki database, table, dan kolom sendiri. Silahkan lompati langkah ini.

MySQL

create database if not exists cms;

Kemudian buat table – nya,

MySQL

create table if not exists product(

     id_product int(2) primary key not null auto_increment,

     nama_product varchar(100) not null,

     harga int(2) not null,

     tgl_masuk date null

     );

Query OK, 0 rows affected (0.80 sec)

Nah, sekarang langkah terakhir adalah memasukan 10 record ke dalam table Product.

MySQL

insert into product values

     (1, "apel", 3000, "2012-04-15"),

     (2, "jeruk", 2500, "2012-04-15"),

     (3, "pisang", 3000, "2012-04-16"),

     (4, "melon", 13000, "2012-04-16"),

     (5, "semangka", 25000, "2012-04-16"),

     (6, "nanas", 10000, "2012-04-17"),

     (7, "durian", 30000, "2012-04-17"),

     (8, "anggur", 15000, "2012-04-18"),

     (9, "duku", 15000, "2012-04-19"),

     (10, "alpukat", 5000, "2012-04-20");

Query OK, 10 rows affected (0.10 sec)

Records: 10  Duplicates: 0  Warnings: 0

Untuk melihat apakah 10 record di atas berhasil dimasukkan, kita dapat menggunakan perintah select*from product.

MySQL

select*from product;

+------------+--------------+-------+------------+

| id_product | nama_product | harga | tgl_masuk  |

+------------+--------------+-------+------------+

|          1 | apel         |  3000 | 2012-04-15 |

|          2 | jeruk        |  2500 | 2012-04-15 |

|          3 | pisang       |  3000 | 2012-04-16 |

|          4 | melon        | 13000 | 2012-04-16 |

|          5 | semangka     | 25000 | 2012-04-16 |

|          6 | nanas        | 10000 | 2012-04-17 |

|          7 | durian       | 30000 | 2012-04-17 |

|          8 | anggur       | 15000 | 2012-04-18 |

|          9 | duku         | 15000 | 2012-04-19 |

|         10 | alpukat      |  5000 | 2012-04-20 |

+------------+--------------+-------+------------+

10 rows in set (0.00 sec)

Lalu buat table Customer – nya.

MySQL

create table if not exists customer(

     id_customer int(2) not null primary key,

     nama_customer varchar(50) not null,

     id_product int(2) not null

     );

Query OK, 0 rows affected (0.42 sec)

Dan kita masukan beberapa record pada table Customer.

MySQL

insert into customer values

     (223, "Rudi", 3),

     (443, "Bayu", 0),

     (112, "Lina", 3),

     (665, "Gio", 1),

     (771, "Anis", 2);

Query OK, 5 rows affected (0.11 sec)

Records: 5  Duplicates: 0  Warnings: 0



select*from customer;

+-------------+---------------+------------+

| id_customer | nama_customer | id_product |

+-------------+---------------+------------+

|         112 | Lina          |          3 |

|         223 | Rudi          |          3 |

|         443 | Bayu          |          0 |

|         665 | Gio           |          1 |

|         771 | Anis          |          2 |

+-------------+---------------+------------+

5 rows in set (0.00 sec)

Nah sekarang, kita ke praktek Left Join – nya. Dalam praktek ini saya jadikan table Product sebagai table kiri (table 1) dan table Customer sebagai table kanan (table 2).

MySQL

SELECT nama_product, nama_customer FROM product LEFT JOIN customer ON product.id_product = customer.id_product;

+--------------+---------------+

| nama_product | nama_customer |

+--------------+---------------+

| pisang       | Lina          |

| pisang       | Rudi          |

| apel         | Gio           |

| jeruk        | Anis          |

| melon        | NULL          |

| semangka     | NULL          |

| nanas        | NULL          |

| durian       | NULL          |

| anggur       | NULL          |

| duku         | NULL          |

| alpukat      | NULL          |

+--------------+---------------+

11 rows in set (0.10 sec)


Demikian tutorial dari apa itu left join pada mysql.

Keywords: cara left join mysql, cara join mysql, tutorial join mysql

Share: