Skip to content Skip to sidebar Skip to footer

Lebih lanjut tentang Select di MySQL



Assalamu'alaikum.wr.wb.
Pada kesempatan sebelumnya saya telah membahas mengenai CRUD di MySQL. Dari postingat tersebut saya memberikan contoh secara umum. Untuk kesempatan kali ini, saya akan membahas lebih lanjut tentang SELECT. Seperti yang kita ketahui bahwa SELECT merupakan perintah SQL untuk menampilkan data dari tabel di suatu database.

Perintah SELECT sangat penting bagi programmer apabila ingin membuat aplikasi berbasis database, Karena dengan menguasai SELECT, kita bisa memanipulasi data dengan tampilan yang kita inginkan. Misal seperti menghitung jumlah baris atau kolom, mencari data, mensorting data berdasarkan value tertentu, mengubah baris menjadi kolom, dan sebagainya.

Dalam perintah MySQL ketika query SQL menampilkan data dari 2 tabel, query tersebut menggabungkan 2 tabel tertentu menggunakan join. syaratnya hanya kedua tabel tersebut harus berelasi. karena untuk menampilkan data dengan perintah menggunakan bahasa SQL, itu harus ada data yang sama dari kolom yang sama. Dalam hal ini bisa kita sebut sebagai foreign key

Ketika perintah MySQL untuk menampilkan data dari beberapa tabel tersebut selesai dibuat, perintah tersebut akan memberikan respon pda MySQL. Lalu MySQL mulai merespon untu menampilkan data yang dimaksud, sehingga data dari beberapa tabel yang dimaksud mulai muncul dalam satu tabel. Hal tersebut bisa dilakukan dengan memanggil perintah select pada MySQL. Itulah yang akan saya bahas saat ini, macam-macam perintah select pada MySQL yang akan saya berikan kepada pembaca agar pembaca bisa mengetahui tentang perintah select tersebut. Dengan demikian maka pembaca bisa memanipulasi data dengan macam-macam perintah yang akan saya tunjukkan.

Untuk membuat perintah tersebut, kita hanya perlu mengetik program yang biasa disebut query untuk menampilkan data. Query yang saya maksud adalah Query SELECT, dimana Query tersebut berfungsi untuk menampilkan data dari tabel tertentu agar programmer dapat melihat data yang disimpan di tiap tabel yang ada. Seperti yang saya sebut sebelumnya bahwa Query select merupakan query terpenting dalam SQL karen dengan memahami query tersebut, kita bisa memanipulasi tampilan data sesuai dengan yang kita inginkan.





Baca Juga


Oke Langsung saja saya akan memberikan contoh program SELECT dengan Database MySQL. Sebelum memulainya, saya akan menggunakan database yang sudah dibuat di tutorial sebelumnya. Bagi yang belum menyimak, silahkan klik disini. Berikut ini merupakan macam-macam perintah select di MySQL

1. SELECT JOIN

SELECT JOIN merupakan perintah SQL untuk menghubungkan tabel satu dengan tabel lainnya yang berelasi. Untuk penghubung, biasanya foreign key yang dijadikan patokan. dimana dalam dua tabel atau lebih, yang mana tabel tersebut memiliki value yang sama yang akan ditampilkan. Misal tabel A.kolom1, memiliki value yang sama dengan tabelB.kolom2. maka yang menjadi penentu adalah kedua kolom tersebut.
Susunan Program : SELECT * FROM [nama_tabel1] JOIN [nama_tabel2] ON [tabel1.kolom1] = [tabel2.kolom2]

Secara umum seperti itulah susunan programnya.

Selain itu, SELECT JOIN juga memiliki beberapa tipe. seperti INNER, LEFT, RIGHT dan OUTER. Untuk menambahkannya pun sama seperti susunan diatas, hanya saja tipe tersebut ditambahkan didepan JOIN

Susunan Program : Susunan Program : SELECT * FROM [nama_tabel1] [tipe] JOIN [nama_tabel2] ON [tabel1.kolom1] = [tabel2.kolom2]

Saya akan menampilkan data mahasiswa beserta kelas dan dosennya
SELECT tb_mahasiswa.id_mahasiswa,  tb_mahasiswa.nama_mahasiswa,  tb_kelas.nama_kelas, tb_mahasiswa.jenis_kelamin,  tb_mahasiswa.alamat,  tb_dosen.nama_dosen
FROM   tb_mahasiswa
       JOIN tb_kelas  ON tb_mahasiswa.id_kelas = tb_kelas.id_kelas
       JOIN tb_dosen  ON tb_kelas.id_dosen = tb_dosen.id_dosen 

Maka hasilnya adalah seperti dibawah ini
select join di mysql


Sekarang kita coba dengan tipe join. untuk lebih jelasnya, saya akan menambahkan satu data dosen lagi. Pembaca juga bisa menambahkan data dosen dengan ketentuan terserah anda.

    Inner Join



    SELECT dosen.id_dosen, dosen.nama_dosen, dosen.alamat,  kelas.id_kelas, kelas.nama_kelas
    FROM   tb_dosen dosen
           INNER JOIN tb_kelas kelas
                   ON dosen.id_dosen = kelas.id_dosen 


    Maka tampilan yang akan muncul adalah seperti dibawah ini
    Contoh program inner join  pada mysql
    Dari hasil tampilan diatas, bisa disimpulkan bahwa penggunaan INNER merupakan perintah untuk menampilkan data yang berelasi dan terhubung (tidak ada yang null). 

    Left join



    SELECT dosen.id_dosen, dosen.nama_dosen, dosen.alamat, kelas.id_kelas, kelas.nama_kelas
    FROM   tb_dosen dosen
           LEFT JOIN tb_kelas kelas
                  ON dosen.id_dosen = kelas.id_dosen 

    Maka tampilan yang akan muncul adalah seperti dibawah ini
    contoh program left join pada mysql
    Dari tampilan diatas, dapat disimpulkan bahwa penggunaan LEFT merupakan perintah untuk menampilkan data berdasarkan data dari kiri(left). dalam script diatas tabel di bagian kiri merupakan tabel yang diketik terlebih dahulu (tb_dosen).

    Right Join


    SELECT dosen.id_dosen, dosen.nama_dosen, dosen.alamat, kelas.id_kelas,kelas.nama_kelas
    FROM   tb_dosen dosen
           RIGHT JOIN tb_kelas kelas
                   ON dosen.id_dosen = kelas.id_dosen 

    Maka tampilan yang akan muncul adalah seperti dibawah ini 
contoh program right join di mysql
    Sebenarnya kebalikan dari Left, Right lebih mengutamakan data dari tabel sebelah kanan. namun karena tb_kelas(kanan) tidak ada yang null, maka tampilannya mirip seperti INNER

2. PIVOT

Pivot merupakan perintah untuk merubah baris mejadi kolom. Yang dimaksud contohnya jika saya ingin menampilkan data mahasiswa dan kelas, yang mana isi dari kelas(SI01, SI02,SI03) akan dijadikan header table, maka dengan pivot ini akan mempermudahnya. Selain itu, bisa juga jika ingin menampilkan jadwal Mata pelajaran/ mata kuliah yang dikelompokkan dalam hari

Karena sebenernya MySQL tidak mendukung PIVOT, maka saya akan langsung memberikan contoh programnya saja. berikut merupakan contoh program pivot.

SELECT tb_mahasiswa.nama_mahasiswa,
       Max(IF(tb_kelas.nama_kelas = 'SI 01', tb_dosen.nama_dosen, NULL)) AS
       'SI 01',
       Max(IF(tb_kelas.nama_kelas = 'SI 02', tb_dosen.nama_dosen, NULL)) AS
       'SI 02',
       Max(IF(tb_kelas.nama_kelas = 'SI 03', tb_dosen.nama_dosen, NULL)) AS
       'SI 03'
FROM   tb_mahasiswa
       join tb_kelas
         ON tb_mahasiswa.id_kelas = tb_kelas.id_kelas
       join tb_dosen
         ON tb_kelas.id_dosen = tb_dosen.id_dosen
GROUP  BY tb_mahasiswa.nama_mahasiswa 

Program diatas merupakan program if-else dari MySQL, cara membaca program tersebut adalah if(field=value, field_value, null). Jika field sama denga value, maka akan tampil field_value, jika tidak maka akan tampil null, silahkan ganti null seperti yang anda inginkan.

Dan berikut adalah hasil output program diatas
Contoh program pivot di mysql

Mungkin beberapa dari pembaca merasa penasaran dengan program PIVOT yang sebenarnya. Karena MySQL tidak mendukung PIVOT, maka saya tidak mempostingnya disini. namun SQL Server mendukung PIVOT. Jadi silahkan lihat disini.

Dalam Setiap pembelajaran. Pasti kita akan sampai pada hal yang sangat sulit dilewati. di saat itulah kita merasa bahwa masih banyak ilmu yang belum kita kuasai. Jadi. Tetaplah belajar. karena ilmu memang tidak ada habisnya. Demikian tutorial yang saya berikan hari ini. Assalamu'alaikum. wr.wb

Materi Selanjutnya : Stored Procedure, Trigger, Dan Function dengan MySQL


Post a Comment for "Lebih lanjut tentang Select di MySQL"