Statement Select untuk Menampilkan Data MySQL


Pada sebuah data yang tersimpan didalam database tentunya data tersebut dapat diolah, dianalisa dan kemudian ditampilkan sehingga menjadi sebuah data baru atau informasi yang berguna. Cara untuk menampilkan data pada mysql adalah menggunakan perintah select yang digunakan untuk menampilkan data, berikut adalah format dan contohnya.
Format:

Select * from nama_tabel;
select nama_kolom1, nama_kolom2, nama_kolomN from nama_tabel;

Contoh:

Select * from mahasiswa;
select id_mhs, nama, npm;

Terdapat dua cara mendasar untuk menampilkan data mysql yaitu menampilkan semua kolom data pada tabel atau memilih kolom tertentu saja yang diinginkan tentunya hal ini bergantung pada bagaimana data itu disajikan.

Menampilkan data dengan kondisi tertentu (Where Clause)
Pada cara sebelumnya tanpa menyatakan kondisi maka akan menampilkan semua data yang tersimpan, untuk menampilkan data sesuai yang diinginkan maka kita perlu menyatakan kondisi dengan menggunakan klausa where, berikut ini format dan contohnya.
Format:

select * from nama_tabel kondisi;
select nama_kolom1, nama_kolom2, nama_kolomN,....., from nama_tabel kondisi;

Contoh:

mysql> desc prodi;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id_prodi | int         | NO   | PRI | NULL    | auto_increment |
| jurusan  | varchar(45) | YES  |     | NULL    |                |
| fakultas | varchar(45) | YES  |     | NULL    |                |
| jenjang  | char(10)    | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

mysql> select * from prodi where id_prodi = 8;
+----------+-----------+----------+------------+
| id_prodi | jurusan   | fakultas | jenjang    |
+----------+-----------+----------+------------+
|        8 | Akuntansi | Ekonomi  | S1-Sarjana |
+----------+-----------+----------+------------+
1 row in set (0.00 sec)

mysql> select fakultas, jenjang from prodi where jurusan = "Akuntansi";
+----------+------------+
| fakultas | jenjang    |
+----------+------------+
| Ekonomi  | S1-Sarjana |
+----------+------------+
1 row in set (0.00 sec)

Perlu diperhatikan ketika menampilkan data dengan kondisi tertentu pastikan untuk memperhatikan tipe data yang digunakan karena kolom dengan tipe data int (angka) tidak perlu di apit dengan tanda petik dua (" ") sementara untuk tipe data karakter seperti char, varchar, text dan date perlu di apit dengan tanda petik dua.

Membatasi Data (limit)
Pada mysql kita dapat membatasi data yang ingin ditampilkan dengan menambahkan klausa limit, format dan contohnya sebagai berikut.
Format:

select * from nama_tabel limit nilai;
select nama_kolom,...., from nama_tabel limit nilai;

Contoh:

mysql> select nid, nama from dosen limit 3;
+----------+-------------------------------------+
| nid      | nama                                |
+----------+-------------------------------------+
| 40010001 | Angga Sandra Saputra, DR. SKOM., MT |
| 50010001 | AA Ardiansyah, ST., MT              |
| 60010001 | AA Sumanto, SE., MMSI               |
+----------+-------------------------------------+
3 rows in set (0.00 sec)

mysql> select nid, nama, kota from dosen where kota = "jakarta barat" limit 3;
+----------+-------------------------------------+---------------+
| nid      | nama                                | kota          |
+----------+-------------------------------------+---------------+
| 40010001 | Angga Sandra Saputra, DR. SKOM., MT | Jakarta Barat |
| 80010005 | Aldi Taher, ST., MT                 | Jakarta Barat |
| 90010007 | Afisyah, S.Psi., MSI                | Jakarta Barat |
+----------+-------------------------------------+---------------+
3 rows in set (0.00 sec)

Dari contoh diatas kita juga dapat menggunakan klausa where untuk menampilkan data dengan kondisi tertentu.

Mengurutkan data (Order By)
Saat menampilkan suatu data yang tersimpan seringkali data tersebut tidak berurutan, mysql menyediakan klausa order by untuk mengurutkan data berdasarkan kolom yang dipilih, berikut format dan contohnya:
Format:

select * from nama_tabel order by nama_kolom;
select nama_kolom,...., from nama_tabel order by nama_kolom;

Contoh:

mysql> select nid, nama, kota from dosen where kota = "jakarta barat" order by nama limit 3;
+----------+-------------------------------------+---------------+
| nid      | nama                                | kota          |
+----------+-------------------------------------+---------------+
| 70010002 | Adinda Zulfa, Ristya MSI., PSIKOLOG | Jakarta Barat |
| 90010007 | Afisyah, S.Psi., MSI                | Jakarta Barat |
| 80010005 | Aldi Taher, ST., MT                 | Jakarta Barat |
+----------+-------------------------------------+---------------+
3 rows in set (0.09 sec)

Mengelompokkan Data (Group By)
Pada mysql kita juga dapat mengelompokkan suatu data dimana biasanya berlaku pada data yang berulang seperti kota, jenis kelamin dan sebagainya, agar lebih jelas berikut ini format dan contohnya.
Format:

select * from nama_tabel group by nama_kolom;
select nama_kolom,...., from nama_tabel group by nama_kolom;

Contoh:

mysql> select kota from dosen;
+------------+
| kota       |
+------------+
| Jakarta    |
| Jakarta    |
| Yogyakarta |
| Tangerang  |
| Jakarta    |
+------------+
5 rows in set (0.00 sec)

mysql> select kota from dosen group by kota;
+------------+
| kota       |
+------------+
| Jakarta    |
| Yogyakarta |
| Tangerang  |
+------------+
3 rows in set (0.00 sec)

Penggunaan klausa group by hanya akan mengambil data berdasarkan kelompok data sehingga mengeliminasi data berulang dari kelompok tersebut yang mana hal tersebut tidak diperlukan.

Menggunakan Fungsi Aggregate
Fungsi agregat digunakan untuk mendapatkan nilai tunggal dari sekelompok nilai, maka dari itu seringkali fungsi agregate digunakan bersamaan dengan klausa group by, agar lebih jelas berikut adalah contohnya.
Contoh:

mysql> select j_kelamin as Gender, count(*) as "Jumlah" from mahasiswa group by
j_kelamin;
+--------+--------+
| Gender | Jumlah |
+--------+--------+
| L      |     61 |
| P      |     41 |
+--------+--------+
2 rows in set (0.13 sec)

mysql> select kota, count(*) as "Jumlah" from mahasiswa group by kota;
+-----------------+--------+
| kota            | Jumlah |
+-----------------+--------+
| Jakarta Barat   |     25 |
| Jakarta Timur   |     20 |
| Bekasi Utara    |     14 |
| Bekasi Timur    |      8 |
| Jakarta Selatan |      2 |
| Bogor           |      1 |
| Bekasi Barat    |     13 |
| Jakarta Utara   |      2 |
| Bekasi Selatan  |      2 |
| Jakarta Pusat   |     14 |
| Bekasi          |      1 |
+-----------------+--------+
11 rows in set (0.00 sec)

Pada contoh diatas kita mendapati suatu nilai yakni jumlah mahasiswa berdasarkan gender (jenis kelamin) atau contoh kedua adalah menampilkan jumlah seluruh mahasiswa berdasarkan kota, namun pada artikel ini tidak akan membahas fungsi agregat secara detail kalian dapat mencari artikel yang berkaitan di menu daftar isi.

Subquery
MySQL Subquery adalah konsep kueri didalam kueri atau dikenal juga sebagai kueri bersarang (Nested Query) yang disematkan didalam klausa where. Subquery mysql digunakan untuk mengembalikan data yang akan digunakan dalam query utama, agar lebih jelas berikut adalah contohnya.
Contoh:

mysql>mysql> select avg(gaji_pokok) from gaji;
+-----------------+
| avg(gaji_pokok) |
+-----------------+
|        14350000 |
+-----------------+
1 row in set (0.00 sec)

mysql> select dosen_id, gaji_pokok from gaji where gaji_pokok > (select avg(gaji_pokok) from gaji);
+----------+------------+
| dosen_id | gaji_pokok |
+----------+------------+
|        8 | 15300000   |
|       10 | 18100000   |
|       11 | 18100000   |
|       12 | 19100000   |
|       13 | 20100000   |
|       14 | 22100000   |
|       15 | 25100000   |
|       16 | 23100000   |
|       17 | 26100000   |
|       18 | 22100000   |
|       19 | 18100000   |
|       20 | 17100000   |
|       21 | 15100000   |
|       30 | 18100000   |
+----------+------------+
14 rows in set (0.00 sec)

Pada contoh diatas subquery terletak setelah klausa where yang digunakan untuk membatasi data yang akan diambil. Pada artikel ini penulis juga tidak membahas subquery secara mendetail, untuk pembahasan subquery lebih jelas dapat dilihat pada artikel yang berkaitan melalui menu daftar isi.
Bayu Radityo

Seorang lulusan teknik informatika yang senang dalam berbagi ilmu pengetahuan, dan membuat karya digital berupa photomanipulation dan digital drawing. instagram external-link

Posting Komentar

Lebih baru Lebih lama