Cara Menampilkan Dua Tabel atau lebih Isi Database

By , February 16, 2015,

Cara Menampilkan Dua Tabel atau lebih Isi Database. Pada saat menampilkan sistem yang sedikit kompleks pemanggilan isi dari 2 tabel atau banyak tabel harus dilakukan. Cara tersebut dalam pengertiannya bisa dikatakan dan fungsi join pada mysql. Join tersebut punya terbagi menjadi beberapa jenis. Kalau tidak saya join terbagi yaitu, inner join, left join, right join. Nah untuk sisanya saya belum tahu atau kalau ada lagi yang baru wkwkwk. 😀

Memanggil tabel pertama hanya field tertentu atau seluruhnya juga bisa. Untuk tabel berikutnya di panggil semua juga bisa. Kalau yang berikut ini biasanya cara yang saya lakukan untuk menampilkan isi field tabel dari beberapa tabel sekaligus. Untuk tekniknya pada dasarnya sama namun, untuk penerapanya tergantung logika masing-masing.

Cara Menampilkan Dua Tabel atau lebih Isi Database

Berikut ini contoh beberapa tabel yang saya akan gabungkan menjadi satu dan menampilkannya. Saya asumsikan disini Saya  menggunakan tiga tabel yang  ingin saya tampilkan.

Pada tabel diatas misalnya Anda akan menampilkan semua dari tiga tebel tersebut, Berikut script query database yang bisa Anda eksekusi pada phpmyadmin atau di tempatkan di koding php selanjutny di eksekusi.

SELECT *.a, *.b, *.c FROM a.tabel1, b.tabel2,c.tabel3 WHERE a.id_a= b.id_b AND a.id_a = c.id_c

Pada tabel diatas akan menghasilkan keluaran hasil query database sebagai berikut:

Selanjutnya jika Anda akan memanggil beberapa field saja dari ketiga tabel diatas. Maka untuk menampilkannya dengan query sebagai berikut:

SELECT a.field1, a.field2, b.field1, c.field3 FROM a.tabel1, b.tabel2,c.tabel3 WHERE a.id_a= b.id_b AND a.id_a = c.id_c

Pada tabel diatas akan menghasilkan dan menampilkan tabel yang dipilih saja. Dengan ketentuan id yang sama pada tabel 1 sebagai patokannya.

Penjelasan diatas adalah logika sederhana bagaimana menampilkan isi tabel dari banyak tabel. Penerapan pada kasus saya begini. Berikut 3 tabel yang  akan saya tampilkan isinya. Contoh ini Saya ambil dari proyek yang pernah saya buat tentan sistem informasi iklan.

4 Tabel pada sistem informasi tersebut:

1. Tabel User

Tabel user

Tabel user

2. Tabel Iklan

Tabel Iklan

Tabel Iklan

3. Tabel Kategori Iklan

Tabel Kategori Iklan

Tabel Kategori Iklan

4. Tabel Pasang Iklan

Cara Menampilkan Dua Tabel atau lebih Isi Database

Tabel Pasang Iklan

Dan Berikut Cara Menampilkan Dua Tabel atau lebih Isi Database yang Saya buat:

$sqk = "SELECT a.id_pasang, a.judul_iklan, a.isi_iklan, a.awal, a.akhir, b.id_kategori,b.kategori, c.tipe, c.harga,d.id_user, d.nama FROM pasang a, kategori b, iklan c, user d WHERE
 a.id_kategori = b.id_kategori and a.id_iklan = c.id_iklan and a.id_user = d.id_user ORDER BY a.id_pasang ASC";

Dan berikut inilah hasil eksekusi dari database dengan query diatas:

Menampilkan dua tabel atau lebih

Menampilkan dua tabel atau lebih

Demikian tutorial menampilan tutorial join pada mysql. Semoga dapat membantu dan menambah wawasan Anda tentang query database. Dan cara diatas, dapat Anda kembangkan dan eksplorasi sesuai dengan logika Anda sendiri.

Postingan berikutnya

  1. menampilkan data dari 3 tabel yang berbeda
  2. menampilkan data dari 2 tabel mysql dengan php
  3. menampilkan data dari 2 tabel mysql
  4. script php menampilkan data dari banyak tabel
  5. menampilkan 2 tabel dalam 1 query php
  6. menampilkan data dari 3 tabel mysql
  7. query sql menampilkan data dari 2 tabel
  8. menampilkan data dari 2 tabel berbeda php
  9. perintah mysql untuk menampilkan data dari beberapa tabel
  10. contoh inner join 3 tabel
  11. sql menampilkan data dari 2 tabel
  12. cara memanggil database di phpmyadmin
  13. menampilkan dua tabel dalam satu datagrid
  14. menampilkan 3 tabel yang berelasi
  15. inner join 4 tabel

31 thoughts on “Cara Menampilkan Dua Tabel atau lebih Isi Database

  1. putri

    kalau untuk membuat query dari tiga tabel tepi berisi data dengan beberapa kriteria bagaimana ya?

    Reply
  2. mokh dudy fahrizal

    Gan, bagaimana misalkan satu orang pelanggan membeli beberapa item barang (ada databasenya), secara automatis untuk klik barangnya….

    Reply
    1. admin Post author

      @mokh dudy fahrizal,terimakasih mas sudah bertanya. Untuk kasus dengan banyak pembelian barang. Dapat kita masukkan ke dalam tabel pembelian, Yang mana tabel pembelian inilah yang berelasi dengan tabel pembeli dan juga tabel barang, disitu nanti akan kita masukkan “id pembeli” dan juga id setiap barang. Nah untuk memanggilnya tinggal panggil saja id barang yang di beli oleh id pembeli yang ingin di tampilkan, dengan kondisi tertentu, misalkan saja pada tanggal tertentu (pada hari pembelian tersebut) terimakasih

      Reply
  3. Kastam

    Mau nanya nih.

    Seperti halnya wordpress ini.
    ada tabel wp_user (`ID` `user_login` `user_email` `display_name`) dan wp_usermeta (`umeta_id“user_id` `meta_key` `meta_value`)

    Bagaimana query untuk menampilkan dengan menggabung isi dari dua tabel itu?
    Bisakah diberikan querynya?

    Output yang dinginkan misal :
    Id :
    Userlogin :
    user_email:
    first_name :
    last_name:

    Terima kasih.
    salam,
    Ks

    Reply
    1. admin Post author

      @kastam, untuk menggabungkan kedua tabel tersebut bisa menggunakan dua cara mas:

      1. Memilih semua field dari kedua tabel, namun yang perlu di perhatikan adalah harus ada tabel primary yang saling berelasi antara kedua tabel tersebut, fungsi dari relasi ini adalah untuk menghubungkan kedua tabel tersebut. Kita asumsikan bahwa field ID pada tabel wp_user sama dengan user_id pada tabel wp_usermeta.

       SELECT * FROM wp_user a, wp_usermeta b WHERE a.ID = b.user_id

      Nah untuk pemanggilan fieldnya silahkan saja di panggil mana yang ingin di tampilkan fieldnya.

      2. Memilih field tertentu

      SELECT a.id,b.user_login,b.user_email,b.meta_key FROM wp_user a, wp_usermeta b WHERE a.ID = b.user_id

      Terimakasih..

      Reply
  4. irwan

    Ass, Saya mau tanya nhi, Bagaimana caranya menampilkan data dari tabel : customer,adress,city,country.
    Dngan mengunakan Database Sakila.
    Berikut isi tabelnya :
    Customer Id, Store Id Firstname, adress id, Adress, city Id, Country id, Country.
    Tolong beritahu querynya Gan.
    Trima kasih

    Reply
    1. admin Post author

      @irwan, Seperti contoh yang mas berikan, sepertinya tabel yang saling terhubung atau berelasi ada 4 yaitu tabel customer, tabel address, tabel city, tabel country, dan akan di tampilkan dalam satu tabel yang kita misalkan nama tabelnya “data_customer” begini mas untuk query menampilkannya:

      SELECT a.customer, b.adress, c.city, d.country, e.data_customer FROM customer a, adress b, city c, country d, data_customer e WHERE a.customerId = e.customerId AND b.addressId = e.addressId AND c.cityId = e.cityId AND d.countryId = e.CountryId
      
      

      Dengan penjelasannya yaitu kita akan menampilkan field customer pada tabel customer, tabel address dari tabel address dan seterusnya dengan ketentuan id yang berada pada masing-masing tabel tersebut di panggil sebagai relasi antara primary key (kata kunci utama) dan juga secondary key (kata kunci kedua) sebagai penghubung untuk menampilkan tabel.

      Reply
  5. Majid

    Kalo kita ingin menampilkan tabel lain tapi yg diampilkan fieldnya aja bukan data nya, kira sprti apa ya…?

    Reply
    1. admin Post author

      @majid: untuk menampilkan informasi field tabel databasenya dapat pakai cara ini mas:

      1. SHOW kolom FROM nama_tabel; // untuk menampilkan kolom dari tabel database
      2. SELECT kolom FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = ‘nama_database’ AND TABLE_NAME = ‘nama_tabel’; // untuk menampikan informasi mengenai kolom secara detail.

      Trims

      Reply
  6. irfan

    min saya mw tanya nih,gimana cara membuat tabel rekam medis dan didalam nya manggil
    kode pasien,
    nama,
    jenis kelamin,
    alamat dari tabel pasien,
    dan ada juga dari tabel dokter mengambil nama dokter,
    ada juga tabel pemeriksaan mengambil diagnosa dan tindakan aja.
    ada juga tabel resep mengambil resep obat ny aja,
    mohon pencerahan sourcode merelasikan nya…
    terima kasihh..

    Reply
    1. admin Post author

      @irfan;

      Sebelumnya untuk untuk memangil data, mungkin yang mas maksudkan misal begini:

      1. Tabel pasien (idPasien,namaPasien,jenisKelamin,alamatPasien0
      2. Tabel dokter (idDokter,namaDokter,keahlian)
      3. Tabel pemeriksaan (idPeriksa,idDokter,idPasien,idResep,diagnosa,tindakan,tanggalPeriksa,penyakit)
      4. Tabel Resep (idResep,idDokter,idPasien,idPeriksa,obat)

      Untuk memanggilnya dapat kita panggil menjadi satu script dengan menggunakan inisialisasi a,b,c,d karena pada kasus tersebut terdapat 4 tabel sebagai contoh;

      
      SELECT a.namaPasien,a.jenisKelamin,a.alamatPasien, b.namaDokter,c.diagnosa,c.tindakan,d.obat FROM pasien a, dokter b, pemeriksaan c, resep d WHERE c.idPasien = a.idPasien AND c.idDokter = b.idDokter AND c.idResep = d.idResep
      
      

      Demikian mas untuk Cara pemanggilan tabel tabel rekam medis, tapi kalo tidak mau ribet tinggal kita panggil saja semua dengan tanda bintang. Dan untuk pemakaiannya nanti tinggal kita panggil sesuai dengan ke inginan kita, dengan cara:

      
      SELECT * FROM pasien a, dokter b, pemeriksaan c, resep d WHERE c.idPasien = a.idPasien AND c.idDokter = b.idDokter AND c.idResep = d.idResep
      
      

      Cara yang kedua ini memanggil semua kolom dari semua tabel rekam medis. Lalu apa bedanya memanggil sebagian kolom tabel yang dibutuhkan saja dengan semua kolom pada semua tabel, letak perbedaannya adalah penghematan resource server dalam melayani permintaan database,Demikian semoga bermanfaat.

      Reply
  7. irfan

    kalo pakai inisial a,b,c,d nya form insert dan edit nya sama aja atau berubah jg min pakai inisial a,b,c,d nya ??

    Reply
  8. dudung

    Mau tanya pak, kalo selanjutnya ingin ditampilkan dalam bentuk tabel dan isi dari tabel itu bergantian berdasarkan tabel dari database, contoh saya punya tabel pemasukan(tanggal,jumlah) (A)& pengeluaran(tanggal,jumlah)(B) lalu tampilannya:
    | no |Keterangan | tanggal |
    | 1 | A.jumlah | A.tanggal |
    | 2 | B.jumlah | B.tanggal |

    terima kasih

    Reply
    1. admin Post author

      @dudung:

      Unuk menampilkan kedua tabel kita harus menggunakan key mas, bisa primary key atau foreigh key.

      Jadi bisa kita asumsikan tabel dan field kolomnya begini:

      # Tabel Pemasukan (A) :
      – id
      – kode
      – jumlah
      – tanggal

      # Tabel Pengeluaran (B);
      – id
      – kode
      – jumlah
      – tanggal

      # Tabel Transaksi (C)
      tabel yang kita gunakan untuk memanggil kedua tabel di atas, pada tabel di atas yang akan kita jadikan key atau kunci adalah id dan kode, untukt tabel pemasukan kita asumsikan dengan kode A, dan tabel pengeluaran kita asumsikan kodenya B, maka akan dapat tersusun tabel berikut:

      – idTransaksi
      – id
      – kode

      Jadi id adalah detail id yang akan kita panggil dari tabel pemasukan dan pengeluaran dan kode adalah untuk mengidentifikasi tabel apakan yang di hubungkan misalnya A tabel pemasukan dan B tabel pengeluaran. Pada tabel ini kita tidak lagi memerlukan kolom tanggal dan kolom keterangan seperti yang mas tanyakan, karena sudah ada pada masing-masing tabel, dan bisa kita panggil dengan relasi. Dan tabel keterangan, di gantikan dengan tabel kode.

      Maka query nya:

      SELECT * FROM transaksi a, pemasukan b, pengeluaran c WHERE a.id = b.id AND a.id= c.id
      

      Dan dengan query diatas, silahkan di tampilan kolom mana saja yang ingin di panggil..

      Terimakasih

      Reply
  9. valen

    admin, saya mau tanya dong. saya punya tabel siswa yang berisi biodata siswa, tabel nilai berisi nilai matapelajaran siswa, dan tabel kuesioner berisi nilai kuesioner siswa. agar tau kalau tabel nilai dan tabel kuesioner punya salah satu siswa kan menggunakan no induk siswa sebagai foreign key, cara untuk join nya gimana ya? dan cara menampilkan data siswa lengkap dari biodata, nilai mapel dan nilai kuesioner bagaimana ya min? begitu juga untuk tambah siswa dan edit siswa? disini admin saya bertugas untuk crud siswa. Terimakasih sebelumnya

    Reply
    1. admin Post author

      @valen:
      Terimakasih mbak sudah bertanya,

      Kita asumsikan tabel yang benar dan yang akan kita gabungkan begini:

      1. tabel_siswa (id_siswa,no_induk,nama,kelas)
      2. tabel_nilai (id_nilai,no_induk,matapelajaran,nilai)
      3. tabel_kuesioner (id_kuesioner,no_induk,kuesioner)

      Dari ketiga tabel diatas, yang menjadi key adalah no_induk, jadi field atau kolom no_induk lah yang akan kita jadikan patokan kunci untuk memanggil tabel diatas dengan menggunakan inisialisasi a,b,c:

      SELECT * FROM tabel_siswa a, tabel_nilai b,tabel_kuesioner c WHERE a.no_induk = b.no_induk AND a.no_induk = c.no_induk
      

      Terimakasih, semogga membantu

      Reply
  10. zarol

    pelajar(id(primary key), nama_pelajar, ic_pelajar, tingkatan, jantina, alamat, pointer, )
    kokurikulum(id_kokurikulum(primary key),ic_pelajar,nama_pelajar, badan_uniform,jawatan)
    pencapaian(id_pencapaian(primary key),nama_pelajar,ic_pelajar,kategori,penglibatan,pencapaian)

    macam mana nak gabung 3 table ni dan boleh saya tahu table ni ada pertindihan data x?

    Reply
    1. admin Post author

      @zarol:

      Untuk menggabungkan ketiga tabel tersebut, seharusnya struktur dan relasi tabelnya sebagai berikut:

      1. Pelajar (id_pelajar,nama_pelajar,tingkatan,jantina,alamat,pointer)
      2. kokurikulum (id_kokurikulum,ic_pelajar,id_pelajar,badan_uniform,jawatan)
      3. Pencapaian (id_pencapaian,id_pelajar,ic_pelajar,kategori,penglibatan,pencapaian)

      SELECT * FROM pelajar a, kokurikulum b, pencapaian c WHERE a.id_pelajar  = b.id_pelajar AND a.id_pelajar = c.id_pelajar
      

      Terimakasih

      Reply
  11. mei

    terimakasih admin untuk postingannya yang sangat membantu..

    tapi saya mau bertanya nih,
    ada 2 tabel :
    admin (nama,role)
    member (nama,role),
    saya mau melakukan pengecekan nih, jika role nya 1 berarti dia admin. jadi yang di cek itu role nya min..

    kalau boleh nanya, query nya gimana ya min?
    terimakasih:)

    Reply
  12. Lepi Natalia

    min mau nanya dong misalnya saya mengklik satu dari beberapa field dan koneksinya akan otomatis untuk nyambung tanpa harus di klik jadi ketika saya mengklik beberapa field akan terhubung otomatis pada field yang dihubungkan

    Reply
    1. admin Post author

      @Lepi Natalia:

      Untuk menghubungankan data seperti itu, kita biasanya menggunakan relasi. Yang mana relasi ini terdapat primary dan foreign key, key key inilah yang nanti akan menjadi koneksi ketika salah tabel antara dua tabel yang saling berelasi kita panggil dengan klik data misalnya.

      Reply
  13. Septia

    Artikelnya membantu banget buat saya yang lagi butuh banya referensi min hehe

    Kalo boleh tau, ada artikel yang bahas join buat insert ga min. Maksudnya kalo misal kita punya 4 tabel, pelanggan (*id_pelanggan), produk(*id_produk), transaksi(*no_trans, **id_produk, **id_pelanggan), konfirmasi_bayar (*id_bayar, **no_trans). Cara untuk menyimpan data dari masing2 key agar tersimpan juga jadi foreigen key di tabel lain itu gimana min, tolong solusinya min. Dan kalo ada query nya saya ingin tau bagaimana min. Terimakasih.

    Reply
    1. admin Post author

      @SeptiA:
      Untuk tabel yang ada pada kasus mas ini:
      pelangga:
      – id_pelanggan
      produk:
      – id_produk
      transaksi:
      – no_trans
      – id_produk
      – id_pelanggan
      konfirmasibayar:
      -id_bayar
      -no_trans

      karena ke 4 tabel tersebut saling berelasi, kita cukp memanggil tabel transaksi saja, untuk mengisi tabel konfirmasi bayar yang perlu dilakukan:
      baca tabel transaksi, dengan demikian kita akan mendapatkan data no_transaksi, id_produk dan id_pelanggan. id_pelanggan ini kita baca dari user login.
      nah untuk mengisi tabel konfirmasi bayar kita baca saja no_trans:
      contoh querynya begini:

      INSERT INTO konformasibayar (id_bayar,no_trans)

      terimakasih

      Reply
  14. Tyo

    gan, gmn caranya menghitung subtotal jam (lama bekerja) jika id pegawainya sama tp di melakukan login 4 kali dalam sehari. mohon bantuannya

    Reply
    1. admin Post author

      @Tyo:

      mas tyo,Untuk menghitung subtoal jam lama bekerja, tinggal kita jumlahkan sendiri berdasarkan id. Sebelumnya lama bekerja ini dalam konteks bagaimana ya mas, ? Bisa di perincikan penjelasannya ?,,

      Reply
  15. wandi

    mau tanya ni gan
    saya mempunyai 2 buah tabel
    1. tb_header_pembelian (nofakbeli,tglbeli,namadistributor)
    2. tb_barang (namabarang,kode_barang,qtybeli dan lain-lain)
    disini saya mau joinkan 2 tabel ini dengan hasil seperti ini :

    nofakbeli tglbeli kode_barang subtotal
    mohon bantuannya gan

    Reply
    1. wandi

      nanya ni gan dan mohon bantuannya
      saya mempunyai 2 buah tabel
      1. tb_header_pembelian (nofakbeli,tglbeli,namadistributor)
      2. tb_barang (namabarang,kode_barang,qtybeli dan lain-lain)
      disini saya mau joinkan 2 tabel ini dengan hasil seperti ini :
      nofakbeli
      tglbeli
      kode_barang
      subtotal

      Reply
      1. admin Post author

        @Wandi:

        Mas wandi untuk menjoinkan tabel antara 2 atau lebih, memerlukan foreigh key, di kedua tabelnya. Jika di asumsikan dengan tabel yang mas contohkan, seharusnya di perbaiki seperti ini tabelnya.

        1.tb_header_pembelian (nofakbeli,tglbeli,namadistributor,idBarang)
        2.tb_barang (namabarang,kode_barang,dtyBeli)

        Karena fungsi foreigh key adalah untuk mengidentifikasi data yang ada pada masing-masing tabel yang mempunya id sama dan memanggil field yang terkait. Pada contoh tabel yang Saya contohkan diatas, idBarang lah yang menjadi foreigh key, maka querynya sebagai berikut

        SELECT a.nofakbeli,a.tglbeli,b.kode_barang,subtotal FROM tb_header_pembelian a, tb_barang b WHERE a.idBarang = b.idBarang

        Demikian mas, terimakasih

        Reply
  16. Zacharia

    Mau nanya nih mas, kan ada 4 kolom field dr sebuah tabel, kalau mau menampilkan sebuah data yg terseleksi dr 3 kolom gimana ya?? Misal ada tabel dg 4 field kolom.
    Fieldnya ada a,b,c,d
    Tiap isian pada d memiliki isian data yg berbeda.
    data pada kolom d yg akan ditampilkan berdasarkan isian dr field a,b,c

    Reply
    1. admin Post author

      @Zacharia:

      Terimakasih mas, sudah mau berdiskusi

      Untuk menampilkan field kolom berdasarkan kolom lainya, seperti pada contoh yang mas berikan berdasarkan 3 field lainya yang satu tabel, dapat di coba cara / query ini mas:

      SELECT * FROM nama_tabel WHERE d IN (SELECT a,b,c FROM nama_tabel) 
      

      Demikian mas, semoga bermanfaat dan membantu.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *