Muhammad Kevin A. R. - Sub Query - Tifg

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

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:

You might also like