SISTEM
PENGOLAHAN BASIS DATA
Struktur tabel yang menjadi referral pada tugas dibawah ini masih mengaju pada catatan diatas, mengenai nama database, nama table maupun isi table tersebut.
1. Tampilkan informasi
data dosen pembimbing dengan total mahasiswa yang pernah menjadi mahasiswa
bimbingannya. Informasi yang ditampilkan berupa NIP, nama dosen, dan jumlah mahasiswa bimbingan.
jawab :
select dosen.NIP,dosen.nama_dosen, COUNT (mahasiswa.NIM) As jumlah from mahasiswa inner join dosen on mahasiswa.dosenPembimbing=dosen.NIP GROUP BY dosen.NIP, dosen.nama_dosen
download sql nya disini
2. Tampilkan informasi
dosen pembimbing yang paling banyak membimbing mahasiswa. Informasi yang
ditampilkan berupa NIP, nama dosen, dan jumlah mahasiswa
bimbingan.
jawab :
select TOP 1 dosen.NIP,dosen.nama_dosen, count(mahasiswa.NIM) As jumlah_bimbingan from mahasiswa inner join dosen on mahasiswa.dosenPembimbing=dosen.NIP
GROUP BY dosen.NIP, dosen.nama_dosen order by jumlah_bimbingan desc
download sql nya disini
3. Tampilkan informasi
mahasiswa yang berasal dari jurusan Sistem Informasi dan beragama Islam atau
katolik. Informasi yang ditampilkan berupa NIM,
nama mahasiswa.
jawab :
select mahasiswa.NIM,mahasiswa.nama_mahasiswa from mahasiswa inner join jurusan on mahasiswa.kode_jurusan=jurusan.kode_jurusan inner join agama on mahasiswa.kode_agama=agama.kode_agama where jurusan.nama_jurusan='SISTEM INFORMASI' and agama.nama_agama in ('ISLAM','KATHOLIK')
download sql nya disini
4.
Ubah nama dosen pembimbing
yang paling banyak membimbing mahasiswa menjadi Budi Hartanto.
jawab :
update dosen set nama_dosen='BUDI HARTANTO' where nip=(select NIP from ( select TOP 1 dosen.NIP,dosen.nama_dosen, count(mahasiswa.NIM) as jumlah_bimbingan from mahasiswa inner join dosen on mahasiswa.dosenPembimbing=dosen.NIP GROUP BY dosen.NIP, dosen.nama_dosen order by jumlah_bimbingan desc ) as a)
download sql nya disini
5. Ubah nama dosen menjadi
Siska Mardiana yang berjenis kelamin wanita dengan ketentuan dosen tersebut
adalah dosen yang paling banyak mengajar di jurusan Teknik Informatika.
jawab :
update dosen set nama_dosen='SISKA MARDIANA', dosen.sex='P' where nip=(select NIP from ( select TOP 1 dosen.NIP,count(distinct kuliah.kode_kuliah) as jumlah_kuliah from dosen inner join kuliah on dosen.NIP=kuliah.NIP inner join peserta on kuliah.kode_kuliah=peserta.kode_kuliah inner join mahasiswa on peserta.NIM=mahasiswa.NIM where mahasiswa.kode_jurusan='1' group by dosen.NIP order by jumlah_kuliah desc) as A )
download sql nya disini
6. Tampilkan banyaknya SKS
yang telah diselesaikan oleh masing-masing mahasiswa (matakuliah yang mengulang
masuk ke dalam perhitungan). Informasi yang ditampilkan berupa NIM, nama mahasiswa, dan total
SKS yang telah ditempuh.
jawab :
select mahasiswa.NIM, mahasiswa.nama_mahasiswa, sum(matakuliah.sks) as total_sks from mahasiswa inner join peserta on mahasiswa.NIM=peserta.NIM inner join kuliah on peserta.kode_kuliah=kuliah.kode_kuliah inner join matakuliah on kuliah.kode_matkul=matakuliah.kode_matkul group by mahasiswa.NIM, mahasiswa.nama_mahasiswa
download sql nya disini
7.
Tampilkan data-data
yang dibutuhkan untuk melakukan perhitungan IPK mahasiswa.
jawab :
select * from mahasiswa inner join peserta on mahasiswa.NIM=peserta.nim inner join kuliah on peserta.kode_kuliah=kuliah.kode_kuliah inner join matakuliah on kuliah.kode_matkul=matakuliah.kode_matkul
download sql nya disini
8. Tampilkan dosen yang
pernah mengampu kelas matakuliah yang pesertanya tidak lebih dari 15 mahasiswa.
jawab :
select dosen.NIP,dosen.nama_dosen,kuliah.kode_kuliah,kuliah.kode_matkul,count(peserta.NIM) as peserta from dosen inner join kuliah on dosen.NIP=kuliah.NIP inner join peserta on kuliah.kode_kuliah=peserta.kode_kuliah inner join mahasiswa on peserta.NIM=mahasiswa.NIM group by dosen.NIP,dosen.nama_dosen,kuliah.kode_kuliah,kuliah.kode_matkul HAVING count(peserta.NIM)<=15
download sql nya disini
9. Tampilkan data
mahasiswa yang telah lulus lebih dari 100 SKS (mahasiswa lulus minimal nilai C ). Informasi yang ditampilkan berupa NIM, nama mahasiswa, dan
total SKS yang telah ditempuh.
jawab :
select mahasiswa.NIM,mahasiswa.nama_mahasiswa,sum(matakuliah.sks) as total_sks from mahasiswa inner join peserta on mahasiswa.NIM=peserta.NIM inner join kuliah on peserta.kode_kuliah=kuliah.kode_kuliah inner join matakuliah on kuliah.kode_matkul=matakuliah.kode_matkul where peserta.nilai not in ('D','E') group by mahasiswa.NIM,mahasiswa.nama_mahasiswa having sum(matakuliah.sks)>100
download sql nya disini
Tidak ada komentar:
Posting Komentar