Tutorial Belajar MySQL Part 27: Cara 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 memakai tabel daftar_dosen dan mata_kuliah seperti tutorial sebelumnya. Berikut isi dari kedua tabel:

Isi tabel daftar_dosen:

NIP Nama Dosen No HP Alamat
0160436012 Sabrina Sari 0812349900 Pekanbaru
0260432002 Maya Ari Putri 0812345234 Palembang
0275430005 Susi Indriani 0812656532 Bogor
0480432066 Tia Santrini 0812451177 Padang
0576431001 M. Siddiq 0812979005 Jakarta
0770435006 Rubin Hadi 0812567678 Papua
0869437003 Mustalifah 0812338877 Aceh
1080432007 Arif Budiman 0812456345 Makasar

Isi tabel mata_kuliah:

Kode Mata Kuliah Nama Matakuliah Jumlah SKS Semester Nip Dosen
MATDAS Matematika Dasar 4 1 0160436012
FISDAS Fisika Dasar 2 1 0480432066
TEKKOM Teknik Kompilasi 2 6 0480432066
JARKOM Jaringan Komputer 3 3 0770435006
DTBASE Database 4 4 0275430005
SISOPR Sistem Operasi 2 4 0160436012
MIKROP Mikro Prosesor 2 5 0480432066

Cara Menggunakan ALIAS untuk Mengganti Nama Tabel

Perintah alias dengan query AS bukan query SQL yang dapat berdiri sendiri seperti SELECT, UPDATE, maupun DELETE. Perintah AS dipakai  sebagai penambah untuk query SQL lain.

Berikut adalah format dasar penulisan alias tabel:

…nama_tabel_asli AS nama_tabel_alias…
  • nama_tabel_asli adalah nama tabel sesungguhnya yang dipakai pada saat pembuatan tabel. Contohnya adalah tabel daftar_dosen dan mata_kuliah.
  • nama_tabel_alias adalah alias atau nama lain tabel yang ingin dipakai, misalnya tabel daftar_dosen di-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 di atas saya menampilkan kolom nama_dosen, no_hp dan alamat dari tabel daftar_dosen.

Perhatikan di akhir query terdapat tambahan 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 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 sederhana.

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

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 berikut setelah 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 setelah perintah FROM, saya membuat alias untuk kedua tabel dengan perintah 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 dipakai untuk mengubah nama tabel, MySQL juga menyediakan ALIAS untuk nama kolom. Salah satu kegunaan alias kolom ini adalah agar tampilan nama kolom menjadi lebih rapi.

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 dipakai pada saat pembuatan tabel. Contohnya nama_dosen dan no_hp.
  • nama_kolom_alias adalah alias atau nama lain kolom yang kita gunakan, misalnya kolom no_hp kita aliaskan menjadi nomor_handphone

Berikut contoh sederhana penggunaan kolom alias:

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 (akan dibahas pada tutorial terpisah).

Sebagai contoh, MySQL menyediakan fungsi CONCAT (singkatan dari concatenates) 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)

Dalam contoh di atas, fungsi CONCAT saya pakai untuk menggabung kolom nama_matkul dengan jumlah_SKS. Perhatikan juga judul dari kolom tersebut.

Untuk membuat tampilan query menjadi 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 ingin memakai tanda spasi, koma, atau karakter lainnya, gunakan tanda kutip backticks (") diantara nama kolom. Karakter backticks ini ada 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, query tersebut sukses berjalan.


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

9 Comments

  1. aif
    17 Jun 13
    • Andre
      03 Oct 13
  2. nurl
    10 Dec 16
  3. Muklis
    13 Jan 19
    • Andre
      14 Apr 19
  4. Pahrurozi
    20 Apr 20
    • Andre
      21 Apr 20

Add Comment