Query Dasar MySQL
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:
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:
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_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:
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.