Friday 17 November 2017
0 komentar

Contoh Inner Join Cara Menampilkan Data di 2 tabel SQL




Di Tutorial ini saya akan membahas tentang Bagaimana Cara menampilkan data dari dua buah table yang berbeda dengan Inner Join di mySQL. Sebelum memulai belajar, anda harus terlebih dahulu membuat dua buah table yang berbeda. Sebagai contoh Tabel Kategori dan Tabel Menu yang saya contohkan di Tutorial ini. Untuk mempersingkat saya sudah membuatkan contohnya anda bisa gunakan source code Query dibawah ini untuk membuat database dan table nya :



/*
SQLyog Ultimate v9.02 
MySQL - 5.1.54-community : Database - db_resto
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
/*Table structure for table `tb_kategori` */

DROP TABLE IF EXISTS `tb_kategori`;

CREATE TABLE `tb_kategori` (
  `id` bigint(100) NOT NULL AUTO_INCREMENT,
  `kategori` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

/*Data for the table `tb_kategori` */

insert  into `tb_kategori`(`id`,`kategori`) values (1,'minuman'),(2,'makanan');

/*Table structure for table `tb_menu` */

DROP TABLE IF EXISTS `tb_menu`;

CREATE TABLE `tb_menu` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `menu` varchar(100) DEFAULT NULL,
  `id_kategori` bigint(20) DEFAULT NULL,
  `harga` float DEFAULT NULL,
  `deskripsi` tinytext,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`),
  KEY `FK_tb_menu` (`id_kategori`),
  CONSTRAINT `FK_tb_menu` FOREIGN KEY (`id_kategori`) REFERENCES `tb_kategori` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

/*Data for the table `tb_menu` */

insert  into `tb_menu`(`id`,`menu`,`id_kategori`,`harga`,`deskripsi`) values (1,'nasi goreng',2,NULL,NULL),(2,'teh',1,NULL,NULL),(3,'nasi uduk',2,NULL,NULL);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

Dari Source code Query diatas maka akan menghasilkan sebuah Database dengan nama db_resto dan akan menghasilkan dua buah tabel yaitu tb_kategori dan tb_menu.

Contoh-Inner-Join
Gambar tb_menu 




Contoh-Inner-Join
Gambar tb_kategori


Dari kedua table yang sudah kita buat, saya ingin menampilkan nama menu dan nama kategorinya. Namun karena masing-masing nama tersebut berada di table yang berbeda maka kita harus menggunakan inner join nya terlebih dahulu untuk menampilkan data dari kedua table tersebut.

Perhatikan pada gambar tb_menu dimana id_kategori pada table tersebut menjadi sebuah FOREIGN KEY dari colom ID di tb_kategori. 

Untuk menampilkan Nama Menu dan Jenis Kategori dari menu tersebut maka kita aka membutuhkan source code Query dibawah ini : 


SELECT tb_menu.`menu`,tb_kategori.`kategori`FROM tb_menu INNER JOIN tb_kategori
ON tb_kategori.`id` = tb_menu.`id_kategori` WHERE tb_menu.`id_kategori`=1;

dari source code Query diatas maka akan menampilkan data seperti dibawah ini :

Contoh-Inner-Join

Anda bisa lihat pada gambar diatas dimana Menu Teh pada tb_menu memiliki id_kategori dengan nilai 1. Nilai 1 tersebut merupakan ID pada tb_kategori yang isi kategorinya adalah Minuman lihat pada Gambar tb_kategori.

Demikian Tutorial membuat Inner Join di mySQL pada kesempatan kali ini. Anda bisa mempraktekannya pada project anda. Apa bila ada pertanyaan anda bisa menulisnya di kolom komentar. Selamat mencoba.


0 komentar :

Post a Comment

 
Toggle Footer
Top