Anda di halaman 1dari 7

Mata Kuliah Pemrograman Basis Data Clien &

Server
Peretemuan ke 5 (Lima)
Pokok Bahasan SQL Tingkat Lanjut
Sub Pokok 1. View
Bahasan 2. Pivot
3. Stored Procedure
1. VIEW pada MySQL

View adalah suatu cara untuk menampilkan data dari satu atau
beberapa tabel yang berbentuk tabel virtual (tidak nyata).

Kegunaan secara umum pembuatan VIEW adalah untuk


membatasi beberapa hal seperti:

1. Menampilkan data tertentu saja yang dibutuhkan,


sehingga dapat membatasi user untuk melihat kolom-
kolom tabel
2. Menyederhanakan tampilan. Karena meskipun view
tersebut merupakan hasil join dari beberapa tabel tapi
terlihat seperti satu tabel saja.
3. Menyederhanakan manipulasi data.
Sintaks membuat View pada MySQL

CREATE VIEW nama_view (Daftar


kolom)
AS
SESELCT dafatr_kolom
FROM nama_tabel.
 Penerapan CONCAT dan CASE pada View

Contoh 1
Diasumsikan kita memiliki tabel dosen (tbdosen) sebagai berikut:
tbdosen
dosNip dosGlrDpn dosNama dosGlrBlg dosJenkel dosGol dosTglLhr
195803051986031007 Drs. ASAHAR JOHAR T. M.Si. L 4C 1958-03-05
195904241986021002 Drs. BOKO SUSILO M.Kom. L 4C 1959-04-24
196207041987031003 Drs. EDY HERMANSYAH M.Sc. Ph.D L 4C 1962-07-04
197308142006042001 ERNAWATI ST. M.Cs. P 3C 1973-08-14
197610052005012002 Dr. DIYAH PUSPITANINGRUM ST. M. Kom. P 3C 1976-10-05
197812072005012001 DESI ANDRESWARI ST. M.Cs. P 3C 1978-12-07
198101122005011002 RUSDI EFENDI ST. M.Kom. L 3D 1981-01-12
198112222008011011 AAN ERLANSARI ST. M.Eng. L 3C 1981-12-22
198411292008122003 RUVITA FAURINA ST P 3A 1984-11-29
198502042008122002 Dr. ARIE VATRESIA ST. M.T.I. P 3C 1985-02-04
198701272012122001 ENDINA PUTRI PURWANDARI S.T., M.Kom P 3B 1987-01-27
198901182015042004 KURNIA ANGGRIANI S.T., M.T P 3B 1989-01-18
198909032015041004 YUDI SETIAWAN ST., M.Eng L 3B 1989-09-03
Kita menginginkan agar gelar dan nama dosen digabung menjadi satu kesatuan,
sedangkan golongan harus dilengkapi dengan pangkat. Sintaksnya adalah sbb:
CREATE VIEW vdosen (vNip, vdosNama, vdosTglLhr, vdosJenkel, vPangkat,vId_prodi)
AS
SELECT dosNip AS vNip,
CASE
WHEN dosGlrDpn<>'' AND dosGlrBlkg<>'' THEN CONCAT(dosGlrDpn,' ',dosNama,',',dosGlrBlkg)
WHEN dosGlrDpn ='' AND dosGlrBlkg<>'' THEN CONCAT(dosNama,', ',dosGlrBlkg)
WHEN dosGlrDpn<>'' AND dosGlrBlkg ='' THEN CONCAT(dosGlrDpn,'. ',dosNama)
ELSE dosNama
END AS vdosNama, dosTglLhr, dosJenkel,
CASE
WHEN dosIdGol='3A' THEN 'Penata Muda,III/A'
WHEN dosIdGol='3B' THEN 'Penata Muda Tk.I, III/B'
WHEN dosIdGol='3C' THEN 'Penata, III/C'
WHEN dosIdGol='3D' THEN 'Penata Tk.I, III/D'
WHEN dosIdGol='4A' THEN 'Pembina, IV/A'
WHEN dosIdGol='4B' THEN 'Pembina Tk.I, IV/B'
WHEN dosIdGol='4C' THEN 'Pembina Utama Muda, IV/C'
WHEN dosIdGol='4D' THEN 'Pembina Utama Madya, IV/D'
WHEN dosIdGol='4E' THEN 'Pembina Utama, IV/E'
ELSE ''
END AS Pangkat,dosProdId AS vId_prodi
FROM tbdosen;
Selanjutnya untuk menampilkan data vdosen tersebut cukup menggunakan
STATEMENT SELECT berikut:

SELECT * FROM vdosen;

Tampilannya sebagai berikut:


vNip vdosNama dosTglLhr dosJenkel vPangkat
195803051986031007 Drs. ASAHAR JOHAR T, M.Si. 1958-03-05 L Pembina Utama Muda, IV/C
195904241986021002 Drs. BOKO SUSILO, M.Kom. 1959-04-24 L Pembina Utama Muda, IV/C
197308142006042001 ERNAWATI, ST. M.Cs. 1973-08-14 P Penata, III/C
197610052005012002 Dr. DIYAH PUSPITANINGRUM, ST. M. Kom. 1976-10-05 P Penata, III/C
197812072005012001 DESI ANDRESWARI, ST. M.Cs. 1978-12-07 P Penata, III/C
198101122005011002 RUSDI EFENDI, ST. M.Kom. 1981-01-12 L Pembina, IV/A
198112222008011011 AAN ERLANSARI, ST. M.Eng. 1981-12-22 L Penata, III/C
198205172008121004 FUNNY FARADY COASTERA, S.Kom. MT. 1980-01-01 L Penata Muda Tk.I, III/B
198502042008122002 ARIE VATRESIA, ST. M.T.I. 1985-02-04 P Penata, III/C
198701272012122001 ENDINA PUTRI PURWANDARI, S.T., M.Kom 1987-01-27 P Penata Muda Tk.I, III/B
198901182015042004 KURNIA ANGGRIANI, S.T., M.T 1989-01-18 P Penata Muda Tk.I, III/B
198909032015041004 YUDI SETIAWAN, ST., M.Eng 2017-09-12 L Penata Muda Tk.I, III/B
Latihan
1. Buat tbdosen di atas berserta datanya di MySQL
2. Hitung umur dosen sampai tanggal hari ini (dalam tahun)
3. Hitung umur dosen sampai tanggal hari ini (dalam bulan)
4. Hitung umur dosen sampai tanggal hari ini (dalam hari)
5. Hitung umur dosen sampai tanggal hari ini (Thn, Bln, Hari)
6. Konversi tanggal lahir menjadi (dd-MM-yyyy)

Anda mungkin juga menyukai