18. Mengganti Tampilan Nama Kolom & Tabel

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:

NIPNama DosenNo HPAlamat
0160436012Sabrina Sari0812349900Pekanbaru
0260432002Maya Ari Putri0812345234Palembang
0275430005Susi Indriani0812656532Bogor
0480432066Tia Santrini0812451177Padang
0576431001M. Siddiq0812979005Jakarta
0770435006Rubin Hadi0812567678Papua
0869437003Mustalifah0812338877Aceh
1080432007Arif Budiman0812456345Makasar

Isi tabel mata_kuliah:

Kode Mata KuliahNama MatakuliahJumlah SKSSemesterNip Dosen
MATDASMatematika Dasar410160436012
FISDASFisika Dasar210480432066
TEKKOMTeknik Kompilasi260480432066
JARKOMJaringan Komputer330770435006
DTBASEDatabase440275430005
SISOPRSistem Operasi240160436012
MIKROPMikro Prosesor250480432066

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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_dosenno_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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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.