PRAKTIKUM SISTEM BASIS DATA
BAB
NAMA
NIM
ASISTEN
: SUB QUERY
: MUHAMMAD KEVIN A.R.
: 145150200111117
: OKIK RIAN HIDAYAT
RATRI MAYANGSARI
TGL PRAKTIKUM
TGL PENGUMPULAN
:
:
1. Tampilkan nama departemen dan rata-rata gaji dari setiap departemen yang memiliki
job selain manajer dimana rata-rata gaji tersebut lebih besar dari rata-rata gaji
keseluruhan pegawai selain manajer. Urutkan berdasar rata-rata gaji tertinggi
SCRIPT:
SELECT DEPTNAME, AVG(SALARY)GAJI_RATA
FROM DEPARTMENT JOIN EMPLOYEE ON WORKDEPT = DEPTNO
WHERE JOB NOT LIKE 'MAN%'
GROUP BY DEPTNAME
HAVING AVG(SALARY)>(SELECT AVG(SALARY) FROM EMPLOYEE WHERE JOB NOT LIKE
'MAN%')
ORDER BY AVG(SALARY);
SCREEN SHOT:
PRAKTIKUM SISTEM BASIS DATA
BAB
NAMA
NIM
ASISTEN
: SUB QUERY
: MUHAMMAD KEVIN A.R.
: 145150200111117
: OKIK RIAN HIDAYAT
RATRI MAYANGSARI
TGL PRAKTIKUM
TGL PENGUMPULAN
:
:
2. Tampilkan lastname, nama department, workdept, job yang memiliki pekerjaan yang
sama dengan pegawai dengan lastname SMITH (Dimana nama SMITH tidak boleh
ditampilkan lagi)
SCRIPT:
SELECT E.LASTNAME , DEPTNAME, E.WORKDEPT, E.JOB
FROM EMPLOYEE E JOIN DEPARTMENT ON DEPTNO = E.WORKDEPT
JOIN (SELECT LASTNAME , JOB FROM EMPLOYEE WHERE LASTNAME = 'SMITH')TABEL1
ON TABEL1.JOB = E.JOB
WHERE E.LASTNAME !='SMITH' ;
SCREEN SHOT:
PRAKTIKUM SISTEM BASIS DATA
BAB
NAMA
NIM
ASISTEN
: SUB QUERY
: MUHAMMAD KEVIN A.R.
: 145150200111117
: OKIK RIAN HIDAYAT
RATRI MAYANGSARI
TGL PRAKTIKUM
TGL PENGUMPULAN
:
:
3. Tampilkan SELURUH nama department, jumlah pegawai yang berumur di atas 50
tahun serta jumlah pegawai yang umurnya di bawah 40 tahun pada setiap department
menggunakan subquery!
SCRIPT:
SELECT D.DEPTNAME , TABEL1.EMPLESS40, TABEL2.EMPMORE50
FROM DEPARTMENT D
LEFT OUTER JOIN (
SELECT DEPTNAME , COUNT(EMPNO)AS EMPLESS40
FROM EMPLOYEE JOIN DEPARTMENT ON DEPTNO = WORKDEPT
WHERE YEAR(CURRENT TIMESTAMP) - YEAR(BIRTHDATE) <40
GROUP BY DEPTNAME
)TABEL1 ON TABEL1.DEPTNAME = D.DEPTNAME
LEFT OUTER JOIN (
SELECT DEPTNAME , COUNT(EMPNO)AS EMPMORE50
FROM EMPLOYEE JOIN DEPARTMENT ON DEPTNO = WORKDEPT
WHERE YEAR(CURRENT TIMESTAMP) - YEAR(BIRTHDATE) >50
GROUP BY DEPTNAME
)TABEL2 ON TABEL2.DEPTNAME = D.DEPTNAME;
SCREEN SHOT: