PERINTAH PENGAKSESAN DATA Praktikum SBD – 5 & 6
PERINTAH2 PENGAKSESAN DATA LIMITS JOIN GROUPING HAVING Penggunaan nama alias
Gunakan database ujimhs.db Use ujimhs; Show tables; Describe mahasiswa; Describe dosen; Describe matakuliah; Describe jenis_ujian; Describe hasil_ujian;
MENGGUNAKAN SETTING LIMITS (digunakan utk membatasi jumlah data yang akan ditampilkan) Lakukan Perintah berikut: Bedakan dengan Perintah berikut: select * from mahasiswa; select * from mahasiswa LIMIT 3; select * from mahasiswa LIMIT 6; select * from mahasiswa LIMIT 6,2; select * from mahasiswa LIMIT 3,6; select * from mahasiswa ORDER BY nama_mhs LIMIT 3,6; select * from mahasiswa ORDER BY nama_mhs DESC LIMIT 3,6; Apa kesimpulannya? Dapatkah perintah-perintah tersebut diterapkan pada tabel lainnya?
MENAMPILKAN DATA DARI BANYAK TABEL YANG BERBEDA Primary Key Foreign Key
MENAMPILKAN RELASI DARI 2 TABEL (JOIN) SELECT matakuliah.kode_mtk, matakuliah.nama_mtk, matakuliah.sks, dosen.nama_dosen FROM matakuliah, dosen WHERE dosen.kode_dosen=matakuliah.kode_dosen; SELECT matakuliah.kode_mtk, matakuliah.nama_mtk, matakuliah.sks, dosen.nama_dosen FROM matakuliah, dosen WHERE (dosen.kode_dosen=matakuliah.kode_dosen) AND (dosen.nama_dosen like ‘in%’); Apa kesimpulan dari dua perintah diatas?
MENAMPILKAN RELASI LEBIH DARI 2 TABEL (JOIN) SELECT hasil_ujian.nim, mahasiswa.nama_mhs, matakuliah.nama_mtk, matakuliah.sks, dosen.nama_dosen, jenis_ujian.nama_ujian, hasil_ujian.nilai FROM hasil_ujian, mahasiswa, matakuliah, dosen, jenis_ujian WHERE (mahasiswa.nim = hasil_ujian.nim) AND (matakuliah.kode_mtk = hasil_ujian.kode_mtk) AND (jenis_ujian.kode_ujian = hasil_ujian.kode_ujian) AND (dosen.kode_dosen = matakuliah.kode_dosen);
MENGGUNAKAN ALIAS PADA KOLOM SELECT matakuliah.kode_mtk AS ‘Kode Matakuliah’, matakuliah.nama_mtk AS ‘Nama Matakuliah’, matakuliah.sks AS ‘SKS’, dosen.nama_dosen AS ‘Nama Dosen’ FROM matakuliah, dosen WHERE dosen.kode_dosen=matakuliah.kode_dosen;
MENGGUNAKAN ALIAS PADA TABEL SELECT a.kode_mtk, a.nama_mtk, a.sks, b.nama_dosen FROM matakuliah AS a, dosen AS b WHERE b.kode_dosen=a.kode_dosen;
MENGGUNAKAN ALIAS PADA KOLOM DAN TABEL SEKALIGUS SELECT a.kode_mtk AS ‘Kode Matakuliah’, a.nama_mtk AS ‘Nama Matakuliah’, a.Sks AS ‘SKS’, b.nama_dosen AS ‘Nama Dosen’ FROM matakuliah AS a, dosen AS b WHERE b.kode_dosen=a.kode_dosen;
MENGGUNAKAN ALIAS PADA KOLOM BARU SELECT nim, nama_mhs, jkel, tmp_lahir, tgl_lahir, CURRENT_DATE AS tgl_sekarang, (YEAR(CURRENT_DATE)-YEAR(tgl_lahir)) AS usia FROM mahasiswa;
PENGELOMPOKAN DATA DENGAN GROUPING (bag 1) SELECT MONTH(tgl_lahir) AS bulan_ke, MONTHNAME(tgl_lahir) AS nama_bulan, COUNT(*) AS ‘Jumlah Kelahiran’ FROM mahasiswa GROUP BY nama_bulan ORDER BY bulan_ke; SELECT tmp_lahir AS kota_lahir, COUNT(*) AS ‘Jumlah Kelahiran’ FROM mahasiswa GROUP BY kota_lahir ORDER BY kota_lahir;
PENGELOMPOKAN DATA DENGAN GROUPING (bag 2) SELECT MONTH(tgl_lahir) AS bulan_ke, MONTHNAME(tgl_lahir) AS nama_bulan, COUNT(*) AS ‘Jumlah Kelahiran’ FROM mahasiswa WHERE jkel=‘L’ GROUP BY nama_bulan ORDER BY bulan_ke; SELECT tmp_lahir AS kota_lahir, COUNT(*) AS ‘Jumlah Kelahiran’ FROM mahasiswa WHERE jkel=‘P’ GROUP BY kota_lahir ORDER BY kota_lahir;
PEMBATASAN HASIL GROUPING DENGAN HAVING SELECT MONTH(tgl_lahir) AS bulan_ke, MONTHNAME(tgl_lahir) AS nama_bulan, COUNT(*) AS jml_lahir FROM mahasiswa GROUP BY nama_bulan HAVING jml_lahir>1 ORDER BY bulan_ke; SELECT MONTH(tgl_lahir) AS bulan_ke, MONTHNAME(tgl_lahir) AS nama_bulan, COUNT(*) AS jml_lahir FROM mahasiswa WHERE jkel=‘L’ GROUP BY nama_bulan HAVING jml_lahir>1 ORDER BY bulan_ke;
Sekian dan Terimakasih