Pertemuan 05
Pertemuan 05
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).
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: