Header Ads

Belajar MySQL Part 23 : Mengganti Tampilan Nama Kolom & Tabel (Alias)

Dalam lanjutan Tutorial Belajar MySQL ini kita akan membahas Cara Mengganti Tampilan Nama Kolom & Tabel (Alias). Query yang akan kita pelajari adalah query AS.





Pengertian ALIAS (AS) dalam MySQL
MySQL menyediakan perintah tambahan AS untuk mengganti sementara nama tabel atau kolom. Disebut sementara karena pada dasarnya nama tabel tersebut tidak berubah, hanya di ganti pada saat ditampilkan dengan query SELECT. Di dalam bahasa SQL, query AS  ini lebih dikenal sebagai alias dari nama tabel yang sebenarnya. Alias ditujukan untuk mempermudah penulisan query atau mempercantik tampilan hasil query.

Sebagai tabel contoh, saya akan menggunakan tabel daftar_dosen dan mata_kuliah seperti tutorial sebelumnya, dengan isi tabel sebagai berikut:





Cara Menggunakan ALIAS untuk Mengganti Nama Tabel

Perintah alias (dengan query AS) bukan merupakan query SQL yang dapat berdiri sendiri seperti SELECT, UPDATE, maupun DELETE. AS digunakan sebagai penambahan untuk query SQL lainnya.

Berikut adalah format dasar penulisan alias tabel:
…nama_tabel_asli AS nama_tabel_alias…

  • nama_tabel_asli adalah nama tabel sesungguhnya yang kita gunakan pada saat pembuatan tabel. Contohnya adalah tabel daftar_dosen dan mata_kuliah.
  • Nama_tabel_alias adalah alias atau nama lain tabel yang ingin kita gunakan, misalnya tabel daftar_dosen kita aliaskan menjadi dosen saja.

Contoh sederhana penggunaan tabel alias adalah sebagai berikut:

mysql> SELECT ds.nama_dosen, ds.no_hp, ds.alamat FROM
daftar_dosen AS ds;

+----------------+------------+-----------+
| nama_dosen     | no_hp      | alamat    |
+----------------+------------+-----------+
| Sabrina Sari   | 0812349900 | Pekanbaru |
| Maya Ari Putri | 0812345234 | Palembang |
| Susi Indriani  | 0812656532 | Bogor     |
| Tia Santrini   | 0812451177 | Padang    |
| M. Siddiq      | 0812979005 | Jakarta   |
| Rubin Hadi     | 0812567678 | Papua     |
| Mustalifah     | 0812338877 | Aceh      |
| Arif Budiman   | 0812456345 | Makasar   |
+----------------+------------+-----------+
8 rows in set (0.00 sec)

Dalam query SELECT diatas, saya menampilkan kolom nama_dosen, no_hp dan alamat dari tabel daftar_dosen. Perhatikan di akhir query saya menambahkan perintah daftar_dosen AS ds, dalam perintah inilah nama tabel daftar_dosen kita aliaskan menjadi ds. Lalu dengan format penulisan nama_tabel.nama_kolom, querynya menjadi SELECT ds.nama_dosen, ds.no_hp, ds.alamat

Query diatas tidak terlalu berguna, karena kita bisa langsung menggunakannya tanpa alias seperti berikut ini:

mysql> SELECT nama_dosen, no_hp, alamat FROM daftar_dosen;

+----------------+------------+-----------+
| nama_dosen     | no_hp      | alamat    |
+----------------+------------+-----------+
| Sabrina Sari   | 0812349900 | Pekanbaru |
| Maya Ari Putri | 0812345234 | Palembang |
| Susi Indriani  | 0812656532 | Bogor     |
| Tia Santrini   | 0812451177 | Padang    |
| M. Siddiq      | 0812979005 | Jakarta   |
| Rubin Hadi     | 0812567678 | Papua     |
| Mustalifah     | 0812338877 | Aceh      |
| Arif Budiman   | 0812456345 | Makasar   |
+----------------+------------+-----------+
8 rows in set (0.00 sec)

tapi setidaknya itulah cara penulisan alias secara sederhana.

Perintah AS akan lebih berguna untuk query yang sedikit rumit, seperti INNER JOIN yang telah kita bahas pada Tutorial Belajar MySQL Menggabungkan Tabel MySQL dengan INNER JOIN.

Dengan menggunakan query yang yang sama pada tutorial INNER JOIN, kali ini kita akan ulangi dengan menambahkan alias.

Berikut adalah query sebelum menggunakan alias:

mysql> SELECT nama_matkul,jumlah_SKS,nama_dosen FROM mata_kuliah
INNER JOIN daftar_dosen
ON mata_kuliah.NIP_dosen=daftar_dosen.NIP_dosen;

+-------------------+------------+---------------+
| nama_matkul       | jumlah_SKS | nama_dosen    |
+-------------------+------------+---------------+
| Database          |          4 | Susi Indriani |
| Fisika Dasar      |          2 | Tia Santrini  |
| Jaringan Komputer |          3 | Rubin Hadi    |
| Matematika Dasar  |          4 | Sabrina Sari  |
| Mikro Prosesor    |          2 | Tia Santrini  |
| Sistem Operasi    |          2 | Sabrina Sari  |
| Teknik Kompilasi  |          2 | Tia Santrini  |
+-------------------+------------+---------------+
7 rows in set (0.05 sec)

Dan dengan menggunakan alias:

mysql> SELECT nama_matkul,jumlah_SKS,nama_dosen FROM mata_kuliah
AS ma INNER JOIN daftar_dosen AS da ON ma.NIP_dosen=da.NIP_dosen;

+-------------------+------------+---------------+
| nama_matkul       | jumlah_SKS | nama_dosen    |
+-------------------+------------+---------------+
| Database          |          4 | Susi Indriani |
| Fisika Dasar      |          2 | Tia Santrini  |
| Jaringan Komputer |          3 | Rubin Hadi    |
| Matematika Dasar  |          4 | Sabrina Sari  |
| Mikro Prosesor    |          2 | Tia Santrini  |
| Sistem Operasi    |          2 | Sabrina Sari  |
| Teknik Kompilasi  |          2 | Tia Santrini  |
+-------------------+------------+---------------+
7 rows in set (0.00 sec)


Query diatas akan berhasil dijalankan jika kedua kolom NIP dari tabel daftar_dosen dan mata_kuliah bernama NIP_dosen. Perhatikan bahwa setelah FROM, kita membuat alias untuk kedua tabel, yakni tabel mata_kuliah menjadi ma, dan tabel daftar_dosen menjadi da: mata_kuliah AS ma INNER JOIN daftar_dosen AS da, sehingga kita dapat menggunakannya pada perintah ON, : ma.NIP_dosen=da.NIP_dosen;





Cara Menggunakan ALIAS untuk Mengganti Nama Kolom Tabel MySQL
Selain untuk mengubah nama tabel, MySQL juga menyediakan ALIAS untuk nama kolom. Salah satu kegunaan alias kolom ini adalah untuk merubah nama kolom agar lebih cantik.

Sama seperti ALIAS untuk nama tabel, alias untuk nama kolom juga merupakan perintah tambahan dari query inti seperti SELECT.

Format dasar penulisan alias kolom:
…nama_kolom_asli AS nama_kolom_alias…

  • nama_kolom_asli adalah nama kolom sesungguhnya yang kita gunakan pada saat pembuatan tabel. Contohnya adalah nama_dosen dan no_hp.
  • Nama_kolom_alias adalah alias atau nama lain kolom yang ingin kita gunakan, misalnya kolom no_hp kita aliaskan menjadi nomor_handphone

Contoh sederhana penggunaan kolom alias adalah:

mysql> SELECT nama_dosen AS nama, no_hp AS nomor_handphone
FROM daftar_dosen;

+----------------+-----------------+
| nama           | nomor_handphone |
+----------------+-----------------+
| Sabrina Sari   | 0812349900      |
| Maya Ari Putri | 0812345234      |
| Susi Indriani  | 0812656532      |
| Tia Santrini   | 0812451177      |
| M. Siddiq      | 0812979005      |
| Rubin Hadi     | 0812567678      |
| Mustalifah     | 0812338877      |
| Arif Budiman   | 0812456345      |
+----------------+-----------------+
8 rows in set (0.09 sec)

Perhatikan hasil dari query tersebut. Pada bagian judul kolom, akan berubah seperti yang tertera pada bagian AS. Kolom nama_dosen menjadi nama, dan kolom no_hp menjadi nomor_handphone.

Perintah AS sebagai alias dari nama kolom akan lebih berguna pada saat kita menggunakan fungsi untuk kolom. MySQL menyediakan berbagai fungsi untuk memanipulasi data (kita akan membahasnya pada tutorial lainnya).

Contohnya, MySQL menyediakan fungsi CONCAT (singkatan dari concatenates) yang digunakan untuk menyambung kata:

mysql> SELECT CONCAT(nama_matkul, " jumlah SKS:", jumlah_SKS)
FROM mata_kuliah;

+-------------------------------------------------+
| CONCAT(nama_matkul, " jumlah SKS:", jumlah_SKS) |
+-----------------------------------------------------+
| Database jumlah SKS:4                |
| Fisika Dasar jumlah SKS:2           |
| Jaringan Komputer jumlah SKS:3 |
| Matematika Dasar jumlah SKS:4  |
| Mikro Prosesor jumlah SKS:2       |
| Sistem Operasi jumlah SKS:2        |
| Teknik Kompilasi jumlah SKS:2     |
+-------------------------------------------------------+
7 rows in set (0.24 sec)

Hasil dari query tersebut, fungsi CONCAT kita gunakan untuk menggabungan kolom nama_matkul dengan jumlah_SKS. Perhatikan juga judul dari kolom tersebut.

Untuk membuat tampilan query lebih cantik, saya akan ubah judul kolom dengan menggunakan ALIAS:

mysql> SELECT CONCAT(nama_matkul, " jumlah SKS:", jumlah_SKS)
AS Mata_Kuliah FROM mata_kuliah;

+--------------------------------+
| Mata_Kuliah                    |
+--------------------------------+
| Database jumlah SKS:4          |
| Fisika Dasar jumlah SKS:2      |
| Jaringan Komputer jumlah SKS:3 |
| Matematika Dasar jumlah SKS:4  |
| Mikro Prosesor jumlah SKS:2    |
| Sistem Operasi jumlah SKS:2    |
| Teknik Kompilasi jumlah SKS:2  |
+--------------------------------+
7 rows in set (0.00 sec)

Sebagai catatan, panjang dari alias dibatasi sebanyak 255 karakter, jika kita menggunakan spasi, koma, atau karakter lainnya, gunakan tanda kutip backticks (“) yaitu tanda kutip yang berada disebelah kiri angka 1 pada keyboard standar.

mysql> SELECT nama_dosen AS Nama Dosen, no_hp AS Nomor Handphone
FROM daftar_dosen;

ERROR 1064 (42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near 'Dosen,
no_hp AS Nomor Handphone FROM daftar_dosen' at line 1

mysql> SELECT nama_dosen AS `Nama Dosen`, no_hp AS `Nomor Handphone`
FROM daftar_dosen;

+----------------+-----------------+
| Nama Dosen     | Nomor Handphone |
+----------------+-----------------+
| Sabrina Sari   | 0812349900      |
| Maya Ari Putri | 0812345234      |
| Susi Indriani  | 0812656532      |
| Tia Santrini   | 0812451177      |
| M. Siddiq      | 0812979005      |
| Rubin Hadi     | 0812567678      |
| Mustalifah     | 0812338877      |
| Arif Budiman   | 0812456345      |
+----------------+-----------------+
8 rows in set (0.00 sec)


Pada query pertama, saya mencoba membuat alias nama_dosen menjadi ‘Nama Dosen’, tetapi MySQL mengeluarkan error karena tidak dapat menerima karakter spasi sebagai nama alias, namun setelah memberi tanda kutip backtick, saya sukses menjalankan query tersebut.

Dalam Tutorial MySQL kali ini kita telah mempelajari Cara Mengganti Tampilan Nama Kolom & Tabel MySQL menggunakan query AS. Dalam tutorial berikutnya, kita akan membahas tentang cara Menghapus Duplikasi dari tabel MySQL dengan query DISTINCT.

No comments

Powered by Blogger.