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

Understanding Undefined Index in php and how to fix in the right way

Undefined index is a common error message that developers encounter when working with PHP. It occurs when trying to access an array or object property that does not exist or has not been initialized. This can happen due to various reasons such as incorrect spelling of the array or object key, missing or incomplete form submissions, incorrect configuration of servers, among others. In this article, we will delve deeper into undefined index errors and how to handle them in PHP.

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.

Review 10 USB Docking Station Terbaik dan Terpopuler di 2023

Apa itu USB Docking Station USB docking station adalah perangkat yang memungkinkan Anda untuk menghubungkan laptop Anda dengan berbagai periferal, seperti monitor, keyboard, mouse, printer, hard drive, dan lainnya. Dengan menggunakan docking station, Anda dapat meningkatkan produktivitas, kenyamanan, dan fleksibilitas kerja Anda. Docking station juga dapat mengisi daya laptop Anda, sehingga Anda tidak perlu khawatir kehabisan baterai. 10 Usb docking station yang paling populer di tahun 2023 Corsair TBT100 Thunderbolt 3 Dock :  Docking station ini mendukung hingga dua monitor 4K atau satu monitor 5K dengan port Thunderbolt 3. Docking station ini juga memiliki port USB-C, USB-A, Ethernet, audio, dan SD card reader. Docking station ini dapat mengisi daya laptop Anda hingga 85 watt. EYD 9IN1 USB C HUB To HDMI Docking Station PD TVGA 3.5mm type C Hub :    Produk ini memiliki 9 port yang meliputi HDMI, VGA, USB-C PD, USB-A 3.0, USB-A 2.0, Ethernet, audio, dan microSD card reader. Produ