Latihan Bab III

Soal Latihan dijawab oleh : Ni Made Aryaningsih

1. Buat query untuk menampilkan nama dan gaji dari pegawai yang memiliki gaji lebih dari $2850.

ENAME SAL
Steven King 24000
Neena Kochhar 17000
Lex De Haan 17000
Alexander Hunold 9000
Bruce Ernst 6000
David Austin 4800
Valli Pataballa 4800
Diana Lorentz 4200
Nancy Greenberg 12000
Daniel Faviet 9000

Jawab : SQL>SELECT FIRST_NAME||’ ‘||LAST_NAME ename, SALARY sal FROM EMPLOYEES WHERE SALARY>2850;

2. Buat query untuk menampilkan nama pegawai dan nomer departemen dari pegawai tersebut untuk pegawai yang mempunyai nomer pegawai = 7566.
Jawab : SQL>SELECT FIRST_NAME||’ ‘||LAST_NAME ename, DEPARTMENT_ID deptno FROM EMPLOYEES WHERE EMPLOYEE_ID=7566;
Namun hasilnya adalah no data found karena tidak ada pegawai yang memiliki nomer pegawai=7566.
Misal, bila pencariannya diganti dengan nomer pegawai=106 maka querynya menjadi:
SQL>SELECT FIRST_NAME||’ ‘||LAST_NAME ename, DEPARTMENT_ID deptno FROM EMPLOYEES WHERE EMPLOYEE_ID=106

ENAME DEPTNO
Valli Pataballa 60

3. Tampilkan nama dan gaji untuk semua pegawai yang memiliki gaji yang tidak berada dalam range antara $1500 sampai $2850.

ENAME SAL
Steven King 24000
Neena Kochhar 17000
Lex De Haan 17000
Alexander Hunold 9000
Bruce Ernst 6000
David Austin 4800
Valli Pataballa 4800
Diana Lorentz 4200
Nancy Greenberg 12000
Daniel Faviet 9000

Jawab : SQL>SELECT FIRST_NAME||’ ‘||LAST_NAME ename, SALARY sal FROM EMPLOYEES WHERE SALARY NOT BETWEEN 1500 AND 2850;

4. Tampilkan nama pegawai, pekerjaan dan tanggal mulai pegawai bekerja antara 20 February 1981 sampai 1 Mei 1981. Urutkan dengan urutan menaik pada kolom tgl mulai kerja.
Jawab : SQL>SELECT A.FIRST_NAME||’ ‘||A.LAST_NAME ename, B.JOB_TITLE job, A.HIRE_DATE hiredate FROM EMPLOYEES A, JOBS B WHERE A.JOB_ID=B.JOB_ID AND (A.HIRE_DATE BETWEEN ’20-FEB-81′ AND ’01-MAY-81′) ORDER BY A.HIRE_DATE;
Namun hasilnya adalah no data found karena tidak ada pegawai yang bekerja antara 20 February 1981 sampai 1 May 1981.
Misal, bila pencariannya diganti dengan 20 February 1998 sampai 1 May 1999 maka querynya menjadi:
SQL>SELECT A.FIRST_NAME||’ ‘||A.LAST_NAME ename, B.JOB_TITLE job, A.HIRE_DATE hiredate FROM EMPLOYEES A, JOBS B WHERE A.JOB_ID=B.JOB_ID AND (A.HIRE_DATE BETWEEN ’20-FEB-98′ AND ’01-MAY-99′) ORDER BY A.HIRE_DATE;

ENAME JOB HIREDATE
Jean Fleaur Shipping Clerk 23-FEB-98
Jose Manuel Urman Accountant 07-MAR-98
Randall Matos Stock Clerk 15-MAR-98
Harrison Bloom Sales Representative 23-MAR-98
Jonathon Taylor Sales Representative 24-MAR-98
Christopher Olsen Sales Representative 30-MAR-98
Joshua Patel Stock Clerk 06-APR-98
Jack Livingston Sales Representative 23-APR-98
Alana Walsh Shipping Clerk 24-APR-98
Kevin Feeney Shipping Clerk 23-MAY-98

5. Tampilkan nama pegawai dan nomer department dari semua pegawai dalam department 10 dan department 30 dalam urutan menaik berdasarkan nama.
ENAME DEPTNO
Alexander Khoo 30
Den Raphaely 30
Guy Himuro 30
Jennifer Whalen 10
Karen Colmenares 30
Shelli Baida 30
Sigal Tobias 30

Jawab : SQL>SELECT FIRST_NAME||’ ‘||LAST_NAME ename, DEPARTMENT_ID deptno FROM EMPLOYEES WHERE DEPARTMENT_ID IN(10,30) ORDER BY FIRST_NAME;

6. Tampilkan nama dan gaji pegawai yang memiliki gaji lebih dari $1500 dan bekerja pada nomer department 10 atau 30. Beri judul kolom ‘Pegawai’ dan ‘Gaji Sebulan’ .

PEGAWAI GAJI SEBULAN
Alexander Khoo 3100
Den Raphaely 11000
Guy Himuro 2600
Jennifer Whalen 4400
Karen Colmenares 2500
Shelli Baida 2900
Sigal Tobias 2800

Jawab : SQL>SELECT FIRST_NAME||’ ‘||LAST_NAME pegawai, SALARY “GAJI SEBULAN” FROM EMPLOYEES WHERE DEPARTMENT_ID IN(10,30) AND SALARY>1500 ORDER BY FIRST_NAME;

7. Tampilkan nama dan tanggal mulai kerja dari seorang pegawai yang mulai bekerja di tahun 1982.
Jawab : SQL> SELECT FIRST_NAME||’ ‘||LAST_NAME pegawai, HIRE_DATE hiredate FROM EMPLOYEES WHERE TO_CHAR(HIRE_DATE,’YYYY’)=1982; Namun hasilnya adalah no data found karena tidak ada pegawai yang mulai bekerja di tahun 1982.
Misal, bila pencariannya diganti dengan tahun 1998 maka querynya menjadi:
SQL> SELECT FIRST_NAME||’ ‘||LAST_NAME pegawai, HIRE_DATE hiredate FROM EMPLOYEES WHERE TO_CHAR(HIRE_DATE,’YYYY’)=1998 ORDER BY HIRE_DATE;

PEGAWAI HIREDATE
Tayler Fox 24-JAN-98
Winston Taylor 24-JAN-98
Valli Pataballa 05-FEB-98
John Seo 12-FEB-98
Jean Fleaur 23-FEB-98
Jose Manuel Urman 07-MAR-98
Randall Matos 15-MAR-98
Harrison Bloom 23-MAR-98
Jonathon Taylor 24-MAR-98
Christopher Olsen 30-MAR-98

8. Tampilkan nama, dan pekerjaan pegawai yang tidak mempunyai manager (nilai kolom mgr = NULL)

ENAME JOB
Steven King President

Jawab : SQL> SELECT A.FIRST_NAME||’ ‘||A.LAST_NAME ename, B.JOB_TITLE job FROM EMPLOYEES A, JOBS B WHERE A.JOB_ID=B.JOB_ID AND A.MANAGER_ID IS NULL;

9. Tampilkan nama, gaji dan komisi dari semua pegawai yang memiliki komisi (kolom komisi tidak sama dengan NULL). Urutkan berdasarkan gaji dan komisi, dengan urutan menurun.

ENAME SAL COMM
John Russell 14000 .4
Karen Partners 13500 .3
Alberto Errazuriz 12000 .3
Lisa Ozer 11500 .25
Gerald Cambrault 11000 .3
Ellen Abel 11000 .3
Eleni Zlotkey 10500 .2
Clara Vishney 10500 .25
Harrison Bloom 10000 .2
Janette King 10000 .35

Jawab : SQL> SELECT FIRST_NAME||’ ‘||LAST_NAME ename, SALARY sal, COMMISSION_PCT comm FROM EMPLOYEES WHERE COMMISSION_PCT IS NOT NULL ORDER BY SALARY DESC;

10. Tampilkan nama dari semua pegawai yang memiliki nama yang mengandung karakter ‘A’ pada huruf ketiga.

ENAME
Adam
Alana
Charles
Clara
Diana
Jean
Shanta
Jawab : SQL> SELECT FIRST_NAME ename FROM EMPLOYEES WHERE FIRST_NAME LIKE ‘__a%’ ORDER BY FIRST_NAME;

11. Tampilkan nama pegawai yang memiliki dua huruf ‘L’ pada namanya, dan bekerja di department 30, atau managernya = ‘7782’

ENAME
Shelli Baida

Jawab : SQL> SELECT FIRST_NAME||’ ‘||LAST_NAME ename FROM EMPLOYEES WHERE (FIRST_NAME LIKE ‘%l%l%’ OR LAST_NAME LIKE ‘%l%l%’) AND DEPARTMENT_ID=30 OR MANAGER_ID=7782;

12. Tampilkan nama, pekerjaan, dan gaji dari semua pegawai yang memiliki pekerjaan ‘CLERK’ atau ‘ANALYST’ dan gajinya tidak sama dengan $1000, $3000 atau $5000.

ENAME JOB SAL
Alexander Khoo Purchasing Clerk 3100
Shelli Baida Purchasing Clerk 2900
Sigal Tobias Purchasing Clerk 2800
Guy Himuro Purchasing Clerk 2600
Karen Colmenares Purchasing Clerk 2500
Julia Nayer Stock Clerk 3200
Irene Mikkilineni Stock Clerk 2700
James Landry Stock Clerk 2400
Steven Markle Stock Clerk 2200
Laura Bissot Stock Clerk 3300

Jawab : SQL> SELECT A.FIRST_NAME||’ ‘||A.LAST_NAME ename, B.JOB_TITLE job, A.SALARY sal FROM EMPLOYEES A, JOBS B WHERE A.JOB_ID=B.JOB_ID AND A.SALARY NOT IN(1000,3000,5000)AND (B.JOB_TITLE LIKE ‘%Clerk%’ OR B.JOB_TITLE LIKE ‘%Analyst%’);

13. Tampilkan nama, gaji, dan komisi dari semua pegawai yang memiliki jumlah komisi lebih dari jumlah gaji setelah dinaikkan 10%.
Jawab : SQL> SELECT FIRST_NAME||’ ‘||LAST_NAME ename, SALARY sal, COMMISSION_PCT*1.1 comm FROM EMPLOYEES WHERE COMMISSION_PCT*1.1>SALARY;
Namun hasilnya adalah no data found karena tidak ada pegawai yang mendapatkan komisi lebih besar dari gaji.

Discussion

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: