Penggabungan Baris dari Dua Tabel - MySQL Dasar #73

Untuk mempelajari konsep dasar bagaimana kita akan melakukan penggabungan atau SELECT data dari dua buah tabel atau lebih, pertama terlebih dahulu kita buat sebuah tabel untuk melakukan beberapa latihan penggabungan seperti berikut :

MariaDB [root93]> CREATE TABLE baju(item CHAR(20));
Query OK, 0 rows affected (0.423 sec)

MariaDB [root93]> INSERT INTO baju(item) VALUES
    -> ('baju biasa'),('baju mahal'),('baju sekolah');
Query OK, 3 rows affected (0.055 sec)
Records: 3  Duplicates: 0  Warnings: 0

MariaDB [root93]> CREATE TABLE dasi(item CHAR(20));
Query OK, 0 rows affected (0.228 sec)

MariaDB [root93]> INSERT INTO dasi(item) VALUES
    -> ('dasi sekolah'),('dasi pesta'),('dasi dansa');
Query OK, 3 rows affected (0.042 sec)
Records: 3  Duplicates: 0  Warnings: 0
Untuk dapat menghasilkan penggabungan dari dua tabel secara utuh, Anda bisa menggunakan query seperti berikut :
MariaDB [root93]> SELECT * FROM baju, dasi;
+--------------+--------------+
| item         | item         |
+--------------+--------------+
| baju biasa   | dasi sekolah |
| baju mahal   | dasi sekolah |
| baju sekolah | dasi sekolah |
| baju biasa   | dasi pesta   |
| baju mahal   | dasi pesta   |
| baju sekolah | dasi pesta   |
| baju biasa   | dasi dansa   |
| baju mahal   | dasi dansa   |
| baju sekolah | dasi dansa   |
+--------------+--------------+
9 rows in set (0.001 sec)
Penggabungan diatas menghasilkan beberapa kombinasi pasangan yang mungkin dari setiap baris sehingga untuk tabel yang besar tentu ini akan memerlukan komputasi yang besar. Anda bisa saja membatasi keluaran menggunakan klausa WHERE misalnya untuk membatasi kombinasi dengan ‘dasi dansa’
MariaDB [root93]> SELECT baju.item, dasi.item FROM baju, dasi
    -> WHERE dasi.item !='dasi dansa';
+--------------+--------------+
| item         | item         |
+--------------+--------------+
| baju biasa   | dasi sekolah |
| baju mahal   | dasi sekolah |
| baju sekolah | dasi sekolah |
| baju biasa   | dasi pesta   |
| baju mahal   | dasi pesta   |
| baju sekolah | dasi pesta   |
+--------------+--------------+
6 rows in set (0.018 sec)
Selain menggunakan klausa WHERE, Anda bisa saja menggunakan LIMIT untuk membatasi keluaran atau dalam contoh ini kita akan membatasi keluran dimana kombinasi dipilih secara acak.
MariaDB [root93]> SELECT baju.item, dasi.item
    -> FROM baju, dasi
    -> ORDER BY RAND() LIMIT 2;
+------------+--------------+
| item       | item         |
+------------+--------------+
| baju mahal | dasi pesta   |
| baju biasa | dasi sekolah |
+------------+--------------+
2 rows in set (0.001 sec)
Penggabungan bisa dilakukan lebih dari dua tabel. Misalnya disini ada kombinasi/tabel celana yang ingin Anda masukan dalama statement SELECT.
MariaDB [root93]> CREATE TABLE celana(item CHAR(20));
Query OK, 0 rows affected (0.205 sec)

MariaDB [root93]> INSERT INTO celana(item) VALUES
    -> ('celana sekolah'),('celana dalam'),('celana dansa');
Query OK, 3 rows affected (0.092 sec)
Records: 3  Duplicates: 0  Warnings: 0
Selanjutnya Anda membuat kombinasi dari ketiga tabel tersebut untuk ditampilkan datanya seperti berikut :
MariaDB [root93]> SELECT baju.item, dasi.item, celana.item
    -> FROM baju, dasi, celana;
+--------------+--------------+----------------+
| item         | item         | item           |
+--------------+--------------+----------------+
| baju biasa   | dasi sekolah | celana sekolah |
| baju mahal   | dasi sekolah | celana sekolah |
| baju sekolah | dasi sekolah | celana sekolah |
| baju biasa   | dasi pesta   | celana sekolah |
| baju mahal   | dasi pesta   | celana sekolah |
| baju sekolah | dasi pesta   | celana sekolah |
| baju biasa   | dasi dansa   | celana sekolah |
| baju mahal   | dasi dansa   | celana sekolah |
| baju sekolah | dasi dansa   | celana sekolah |
| baju biasa   | dasi sekolah | celana dalam   |
| baju mahal   | dasi sekolah | celana dalam   |
| baju sekolah | dasi sekolah | celana dalam   |
| baju biasa   | dasi pesta   | celana dalam   |
| baju mahal   | dasi pesta   | celana dalam   |
| baju sekolah | dasi pesta   | celana dalam   |
| baju biasa   | dasi dansa   | celana dalam   |
| baju mahal   | dasi dansa   | celana dalam   |
| baju sekolah | dasi dansa   | celana dalam   |
| baju biasa   | dasi sekolah | celana dansa   |
| baju mahal   | dasi sekolah | celana dansa   |
| baju sekolah | dasi sekolah | celana dansa   |
| baju biasa   | dasi pesta   | celana dansa   |
| baju mahal   | dasi pesta   | celana dansa   |
| baju sekolah | dasi pesta   | celana dansa   |
| baju biasa   | dasi dansa   | celana dansa   |
| baju mahal   | dasi dansa   | celana dansa   |
| baju sekolah | dasi dansa   | celana dansa   |
+--------------+--------------+----------------+
27 rows in set (0.001 sec)

0 Response to "Penggabungan Baris dari Dua Tabel - MySQL Dasar #73"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin