Langsung ke konten utama

Panduan Lengkap untuk Pemula dalam Memahami dan Menggunakan Perintah SELECT pada MySQL


MySQL adalah sebuah sistem manajemen basis data relasional yang sering digunakan untuk mengelola data dalam sebuah aplikasi. Salah satu perintah dasar dalam MySQL adalah perintah SELECT, yang digunakan untuk menampilkan data dari sebuah tabel.

Tabel "provinces" memiliki kolom-kolom "id", "name", "created_by", "updated_by", "owned_by", "created_at", dan "updated_at". Berikut ini adalah contoh data dari tabel tersebut:

idnamecreated_byupdated_byowned_bycreated_atupdated_at
1Acehadminadminadmin2021-01-01 00:00:002021-01-01 00:00:00
2Baliadminadminadmin2021-01-02 00:00:002021-01-02 00:00:00
3Bangka Belitadminadminadmin2021-01-03 00:00:002021-01-03 00:00:00
4Bantenadminadminadmin2021-01-04 00:00:002021-01-04 00:00:00
5Bengkuluadminadminadmin2021-01-05 00:00:002021-01-05 00:00:00
6Gorontaloadminadminadmin2021-01-06 00:00:002021-01-06 00:00:00
7Jakartaadminadminadmin2021-01-07 00:00:002021-01-07 00:00:00
8Jambiadminadminadmin2021-01-08 00:00:002021-01-08 00:00:00
9Jawa Baratadminadminadmin2021-01-09 00:00:002021-01-09 00:00:00
10Jawa Tengahadminadminadmin2021-01-10 00:00:002021-01-10 00:00:00

Berikut ini adalah beberapa variasi perintah SELECT yang dapat digunakan untuk memilih data dari tabel "provinces":

Memilih semua data dari tabel "provinces"

Untuk memilih semua data dari tabel "provinces", dapat digunakan perintah SELECT seperti berikut:

SELECT * FROM provinces;

Perintah tersebut akan menampilkan semua data dari tabel "provinces", yaitu:

| id | name         | created_by | updated_by | owned_by | created_at          | updated_at          |
|----|--------------|------------|------------|----------|---------------------|---------------------|
| 1  | Aceh         | admin      | admin      | admin    | 2021-01-01 00:00

Memilih kolom tertentu dari tabel "provinces"

Jika hanya ingin memilih kolom-kolom tertentu dari tabel "provinces", dapat digunakan perintah SELECT dengan menyebutkan nama kolom-kolom yang diinginkan, seperti berikut:

SELECT id, name, created_at FROM provinces;

Perintah tersebut akan menampilkan data dari kolom "id", "name", dan "created_at" saja dari tabel "provinces", yaitu:

| id | name         | created_at          |
|----|--------------|---------------------|
| 1  | Aceh         | 2021-01-01 00:00:00 |
| 2  | Bali         | 2021-01-02 00:00:00 |
| 3  | Bangka Belit | 2021-01-03 00:00:00 |
| 4  | Banten       | 2021-01-04 00:00:00 |
| 5  | Bengkulu     | 2021-01-05 00:00:00 |
| 6  | Gorontalo    | 2021-01-06 00:00:00 |
| 7  | Jakarta      | 2021-01-07 00:00:00 |
| 8  | Jambi        | 2021-01-08 00:00:00 |
| 9  | Jawa Barat   | 2021-01-09 00:00:00 |
| 10 | Jawa Tengah  | 2021-01-10 00:00:00 |

Memilih data dengan kondisi tertentu

Jika hanya ingin memilih data dengan kondisi tertentu, dapat digunakan perintah SELECT dengan menambahkan klausa WHERE yang berisi kondisi yang diinginkan, seperti berikut:

SELECT * FROM provinces WHERE id > 5;

Perintah tersebut akan menampilkan data dari tabel "provinces" yang memiliki nilai kolom "id" lebih besar dari 5, yaitu:

| id | name        | created_by | updated_by | owned_by | created_at          | updated_at          |
|----|-------------|------------|------------|----------|---------------------|---------------------|
| 6  | Gorontalo   | admin      | admin      | admin    | 2021-01-06 00:00:00 | 2021-01-06 00:00:00 |
| 7  | Jakarta     | admin      | admin      | admin    | 2021-01-07 00:00:00 | 2021-01-07 00:00:00 |
| 8  | Jambi       | admin      | admin      | admin    | 2021-01-08 00:00:00 | 2021-01-08 00:00:00 |
| 9  | Jawa Barat  | admin      | admin      | admin    | 2021-01-09 00:00:00 | 2021-01-09 00:00:00 |
| 10 | Jawa Tengah | admin      | admin      | admin    | 2021-01-10 00:00:00 | 2021-01-10 00:00:00 |

Memilih data dengan kondisi dan urutan tertentu

Jika ingin memilih data dengan kondisi tertentu dan diurutkan berdasarkan kolom tertentu, dapat digunakan perintah SELECT dengan menambahkan klausa WHERE untuk kondisi dan klausa ORDER BY untuk mengurutkan data, seperti berikut:
SELECT * FROM provinces WHERE owned_by='Indonesia' ORDER BY name ASC;

Perintah tersebut akan menampilkan data dari tabel "provinces" yang memiliki nilai kolom "owned_by" sama dengan "Indonesia" dan diurutkan berdasarkan kolom "name" secara ascending, yaitu:

| id | name        | created_by | updated_by | owned_by   | created_at          | updated_at          |
|----|-------------|------------|------------|--------------|---------------------|---------------------|
| 1  | Aceh        | admin      | admin      | Indonesia | 2021-01-01 00:00:00 | 2021-01-01 00:00:00 |
| 2  | Bali        | admin      | admin      | Indonesia | 2021-01-02 00:00:00 | 2021-01-02 00:00:00 |
| 4  | Banten      | admin      | admin      | Indonesia | 2021-01-04 00:00:00 | 2021-01-04 00:00:00 |
| 5  | Bengkulu    | admin      | admin      | Indonesia | 2021-01-05 00:00:00 | 2021-01-05 00:00:00 |
| 9  | Jawa Barat  | admin      | admin      | Indonesia | 2021-01-09 00:00:00 | 2021-01-09 00:00:00 |
| 10 | Jawa Tengah | admin      | admin      | Indonesia | 2021-01-10 00:00:00 | 2021-01-10 00:00:00 |

Menampilkan data dengan jumlah terbatas

Jika hanya ingin menampilkan sebagian data dengan jumlah tertentu dari tabel "provinces", dapat digunakan perintah SELECT dengan menambahkan klausa LIMIT, seperti berikut:

SELECT * FROM provinces LIMIT 5;

Perintah tersebut akan menampilkan data dari tabel "provinces" dengan jumlah terbatas sebanyak 5 baris, yaitu:

| id | name         | created_by | updated_by | owned_by   | created_at          | updated_at          |
|----|--------------|------------|------------|--------------|---------------------|---------------------|
| 1  | Aceh         | admin      | admin      | Indonesia | 2021-01-01 00:00:00 | 2021-01-01 00:00:00 |
| 2  | Bali         | admin      | admin      | Indonesia | 2021-01-02 00:00:00 | 2021-01-02 00:00:00 |
| 3  | Bangka Belit | admin      | admin      | Indonesia | 2021-01-03 00:00:00 | 2021-01-03 00:00:00 |
| 4  | Banten       | admin      | admin      | Indonesia | 2021-01-04 00:00:00 | 2021-01-04 00:00:00 |
| 5  | Bengkulu     | admin      | admin      | Indonesia | 2021-01-05 00:00:00 | 2021-01-05 00:00:00

Menampilkan data dengan pengelompokan (GROUP BY)

Jika ingin mengelompokkan data berdasarkan nilai tertentu dari salah satu kolom, dapat digunakan perintah SELECT dengan menambahkan klausa GROUP BY, seperti berikut:

SELECT owned_by, COUNT(*) as total FROM provinces GROUP BY owned_by;

Perintah tersebut akan menampilkan data dari tabel "provinces" yang dikelompokkan berdasarkan nilai kolom "owned_by" dan menghitung jumlah data pada setiap kelompok, yaitu:

| owned_by   | total |
|--------------|-------|
| Indonesia | 10    |
| Malaysia  | 5     |

Menampilkan data dengan penggabungan (JOIN)

Jika ingin menggabungkan data dari dua tabel atau lebih, dapat digunakan perintah SELECT dengan menambahkan klausa JOIN, seperti berikut:

SELECT provinces.name, cities.name FROM provinces JOIN cities ON provinces.id=cities.province_id;

Perintah tersebut akan menggabungkan data dari tabel "provinces" dan "cities" berdasarkan nilai kolom "id" pada tabel "provinces" dan kolom "province_id" pada tabel "cities", kemudian menampilkan nilai kolom "name" dari kedua tabel, yaitu:

| name        | name              |
|-------------|------------------|
| Aceh        | Banda Aceh       |
| Bali        | Denpasar         |
| Bangka Belit | Pangkal Pinang   |
| Banten      | Serang           |
| Bengkulu    | Bengkulu         |
| Jawa Barat  | Bandung          |
| Jawa Tengah | Semarang         |
| Johor       | Johor Bahru      |
| Kedah       | Alor Setar       |
| Kelantan    | Kota Bharu       |
| ...         | ...              |

Dalam contoh di atas, perintah JOIN menggabungkan data dari tabel "provinces" dan "cities" berdasarkan nilai kolom "id" pada tabel "provinces" dan kolom "province_id" pada tabel "cities". Kemudian, perintah SELECT hanya menampilkan nilai kolom "name" dari kedua tabel.

Menampilkan data dengan batasan jumlah baris (LIMIT)

Jika ingin menampilkan sejumlah data tertentu dari tabel, dapat digunakan perintah SELECT dengan menambahkan klausa LIMIT, seperti berikut:

SELECT * FROM provinces LIMIT 5;

Perintah tersebut akan menampilkan 5 baris data pertama dari tabel "provinces".

| id | name           | created_by | updated_by | owned_by   | created_at          | updated_at          |
|----|----------------|------------|------------|--------------|---------------------|---------------------|
| 1  | Aceh           | John Doe   | Jane Doe   | Indonesia | 2020-01-01 00:00:00 | 2020-01-01 00:00:00 |
| 2  | Bali           | John Doe   | Jane Doe   | Indonesia | 2020-01-02 00:00:00 | 2020-01-02 00:00:00 |
| 3  | Bangka Belitung | John Doe   | Jane Doe   | Indonesia | 2020-01-03 00:00:00 | 2020-01-03 00:00:00 |
| 4  | Banten         | John Doe   | Jane Doe   | Indonesia | 2020-01-04 00:00:00 | 2020-01-04 00:00:00 |
| 5  | Bengkulu       | John Doe   | Jane Doe   | Indonesia | 2020-01-05 00:00:00 | 2020-01-05 00:00:00 |

Perintah tersebut akan membatasi jumlah baris yang ditampilkan menjadi 5 baris pertama dari tabel "provinces".

Kita juga dapat menambahkan offset (pergeseran) pada LIMIT untuk menampilkan data mulai dari baris tertentu. Contohnya, untuk menampilkan data dari baris ke-6 hingga ke-10, dapat digunakan perintah seperti berikut:

SELECT * FROM provinces LIMIT 5, 5;
Perintah tersebut akan menampilkan 5 baris data setelah baris ke-5 (baris ke-6 hingga ke-10) dari tabel "provinces".
| id | name           | created_by | updated_by | owned_by   | created_at          | updated_at          |
|----|----------------|------------|------------|--------------|---------------------|---------------------|
| 6  | Jawa Barat     | John Doe   | Jane Doe   | Indonesia | 2020-01-06 00:00:00 | 2020-01-06 00:00:00 |
| 7  | Jawa Tengah    | John Doe   | Jane Doe   | Indonesia | 2020-01-07 00:00:00 | 2020-01-07 00:00:00 |
| 8  | Johor          | John Doe   | Jane Doe   | Malaysia  | 2020-01-08 00:00:00 | 2020-01-08 00:00:00 |
| 9  | Kedah          | John Doe   | Jane Doe   | Malaysia  | 2020-01-09 00:00:00 | 2020-01-09 00:00:00 |
| 10 | Kelantan       | John Doe   | Jane Doe   | Malaysia  | 2020-01-10 00:00:00 | 2020-03-10 00:00:00

Menampilkan data secara terurut (ORDER BY)

Kita juga dapat mengurutkan data dalam tabel menggunakan perintah ORDER BY. Misalnya, untuk menampilkan data provinsi yang diurutkan berdasarkan nama secara ascending, dapat digunakan perintah seperti berikut:

SELECT * FROM provinces ORDER BY name ASC;

Perintah tersebut akan menampilkan data provinsi dalam tabel "provinces" yang diurutkan berdasarkan nama secara ascending (A-Z).

| id | name           | created_by | updated_by | owned_by   | created_at          | updated_at          |
|----|----------------|------------|------------|--------------|---------------------|---------------------|
| 1  | Aceh           | John Doe   | Jane Doe   | Indonesia | 2020-01-01 00:00:00 | 2020-01-01 00:00:00 |
| 2  | Bali           | John Doe   | Jane Doe   | Indonesia | 2020-01-02 00:00:00 | 2020-01-02 00:00:00 |
| 3  | Bangka Belitung | John Doe   | Jane Doe   | Indonesia | 2020-01-03 00:00:00 | 2020-01-03 00:00:00 |
| 4  | Banten         | John Doe   | Jane Doe   | Indonesia | 2020-01-04 00:00:00 | 2020-01-04 00:00:00 |
| 5  | Bengkulu       | John Doe   | Jane Doe   | Indonesia | 2020-01-05 00:00:00 | 2020-01-05 00:00:00 |
| 6  | Jawa Barat     | John Doe   | Jane Doe   | Indonesia | 2020-01-06 00:00:00 | 2020-01-06 00:00:00 |
| 7  | Jawa Tengah    | John Doe   | Jane Doe   | Indonesia | 2020-01-07 00:00:00 | 2020-01-07 00:00:00 |
| 8  | Johor          | John Doe   | Jane Doe   | Malaysia  | 2020-01-08 00:00:00 | 2020-01-08 00:00:00 |
| 9  | Kedah          | John Doe   | Jane Doe   | Malaysia  | 2020-01-09 00:00:00 | 2020-01-09 00:00:00 |
| 10 | Kelantan       | John Doe   | Jane Doe   | Malaysia  | 2020-01-10 00:00:00 | 2020-01-10 00:00:00 |

Dalam perintah tersebut, klausa ASC (ascending) menandakan bahwa data diurutkan dari nilai terkecil ke nilai terbesar. Jika ingin mengurutkan data secara descending (dari nilai terbesar ke nilai terkecil), kita dapat menggunakan klausa DESC (descending) pada perintah ORDER BY. Misalnya, untuk menampilkan data provinsi yang diurutkan berdasarkan nama secara descending, dapat digunakan perintah seperti berikut:

SELECT * FROM provinces ORDER BY name DESC;

Perintah tersebut akan menampilkan data dalam tabel "provinces" yang diurutkan berdasarkan kolom "name" secara descending.

| id | name           | created_by | updated_by | owned_by   | created_at          | updated_at          |
|----|----------------|------------|------------|--------------|---------------------|---------------------|
| 6  | Yogyakarta     | John Doe   | Jane Doe   | Indonesia | 2020-01-06 00:00:00 | 2020-01-06 00:00:00 |
| 5  | West Sumatra   | John Doe   | Jane Doe   | Indonesia | 2020-01-05 00:00:00 | 2020-01-05 00:00:00 |
| 4  | Banten         | John Doe   | Jane Doe   | Indonesia | 2020-01-04 00:00:00 | 2020-01-04 00:00:00 |
| 3  | Bangka Belitung | John Doe   | Jane Doe   | Indonesia | 2020-01-03 00:00:00 | 2020-01-03 00:00:00 |
| 2  | Bali           | John Doe   | Jane Doe   | Indonesia | 2020-01-02 00:00:00 | 2020-01-02 00:00:00 |
| 1  | Aceh           | John Doe   | Jane Doe   | Indonesia | 2020-01-01 00:00:00 | 2020-01-01 00:00:00 |

Summary

Dalam artikel ini kita telah membahas beberapa perintah SELECT yang berguna untuk memilih data dari tabel di MySQL, yaitu SELECT * untuk memilih semua kolom, SELECT dengan spesifik nama kolom untuk memilih kolom tertentu, SELECT DISTINCT untuk memilih nilai unik, dan SELECT dengan fungsi agregat seperti COUNT(), SUM(), MAX(), dan AVG() untuk mengambil informasi statistik dari data. Selain itu, kita juga membahas penggunaan LIMIT untuk membatasi jumlah baris yang ditampilkan dan ORDER BY untuk mengurutkan data berdasarkan kolom tertentu, termasuk contoh pengurutan secara descending dengan perintah ORDER BY ... DESC.

Komentar

Postingan populer dari blog ini

Fungsi lain tombol penerima panggilan di headset

Kegunaan tombol yang berada di headset utamanya adalah untuk menerima panggilan dan pause panggilan. Dan headset itu sendiri, kadang juga digunakan untuk mendengarkan music, digunakan bersama saat main game, supaya suara yang dikeluarkan oleh gadget tidak terlalu keras sehingga mengurangi beban gadget. Dengan mengurangi beban gadget, ada beberapa yang beranggapan kalau itu akan menghemat batere.

Apa itu index file seperti index.html, index.php kegunaannya dan bagaimana membuat custom nya

Index file adalah file yang berfungsi sebagai halaman utama atau tampilan pertama dari sebuah website. File ini memiliki nama default yang bervariasi, tergantung pada jenis server dan konfigurasinya, namun beberapa nama default yang umum digunakan adalah index.html, index.php, index.jsp, atau index.asp.

Membersihkan cache dan dalvik-cache menggunakan link2sd

Mungkin banyak yang menanyakan kenapa internalnya selalu berkurang free space nya. Padahal tidak menginstall applikasi baru. Hanya melakukan aktifitas normal. Dan sampai pada waktunya, internal memory low dan tidak bisa menambah aplikasi baru lagi.  Ada kemungkinan file cache dari sebuah aplikasi atau dalvik yang dibuat oleh OS android sudah  mulai membengkak. Sehingga perlu di bersihkan secara manual supaya tersedia penyimpanan kosong yang banyak. Sebelum mengetahui cara membersihkan cache dan dalvik cache, kita kupas sekilas apa itu cache dan dalvik cache. Cache adalah sebuah data file sementara yang di hasilkan oleh sebuah applikasi guna mempercepat pemrosesan dimasa yang akan datang (Cache Wikipedia) .  Dalvik-cache adalah ruang kosong sementara yang di pake oleh java virtual machine untuk menjalankan aplikasi android (Dalvik Wikipedia) .