You are on page 1of 8

PEMILAHAN

WHERE
SQL> SELECT ename, job, deptno
2 FROM emp
3 WHERE job='CLERK';

ENAME JOB DEPTNO


---------- --------- ----------
JAMES CLERK 30
SMITH CLERK 20
ADAMS CLERK 20
MILLER CLERK 10

… WHERE hiredate=’01-JAN-95’
…WHERE sal>=1500
…WHERE ename=’SMITH’

BETWEEN
SQL> SELECT ename, sal
2 FROM emp
3 WHERE sal BETWEEN 1000 AND 1500;

ENAME SAL
---------- -----------------
MARTIN 1250
TURNER 1500
WARD 1250
ADAMS 1100
MILLER 1300

IN
SQL> SELECT empno, ename, sal, mgr
2 FROM emp
3 WHERE mgr IN (7902,7566,7788);

EMPNO ENAME SAL MGR


---------- ---------- ---------- ------------------------------
7902 FORD 3000 7566
7369 SMITH 800 7902
7788 SCOTT 3000 7566
7876 ADAMS 1100 7788

LIKE
SQL> SELECT ename
2 FROM emp
3 WHERE ename LIKE 'S%';
ENAME
----------
SMITH
SCOTT

SQL> SELECT ename, hiredate


2 FROM emp
3 WHERE hiredate LIKE '%81';

ENAME HIREDATE
---------- ---------
KING 17-NOV-81
BLAKE 01-MAY-81
CLARK 09-JUN-81

10 rows selected.

SQL> SELECT ename


2 FROM emp
3 WHERE ename LIKE '_A%';

ENAME
----------
MARTIN
JAMES
WARD

IS NULL
SQL> SELECT ename, mgr
2 FROM emp
3 WHERE mgr IS NULL;

ENAME MGR
---------- ----------
KING

AND, OR, NOT


SQL> SELECT empno, ename, job, sal
2 FROM emp
3 WHERE sal>=1100
4 AND job='CLERK';

EMPNO ENAME JOB


---------- ---------- --------- ----
7876 ADAMS CLERK
7934 MILLER CLERK
SQL> SELECT empno, ename, job,sal
2 FROM emp
3 WHERE sal>=1100
4 OR job='CLERK';

EMPNO ENAME JOB


---------- ---------- --------- ----
7839 KING PRESIDENT
7698 BLAKE MANAGER
7782 CLARK MANAGER

14 rows selected.

… WHERE NOT job IN (‘CLERK’, ‘ANALYST’)


… WHERE sal NOT BETWEEN 1000 AND 1500
… WHERE ename NOT LIKE ‘%A%’
… WHERE comm IS NOT NULL
… WHERE job NOT IN (‘CLERK’, ‘MANAGER’, ‘ANALYST’)

SQL> SELECT ename, job, sal


2 FROM emp
3 WHERE job='SALESMAN'
4 OR job='PRESIDENT'
5 AND sal>1500;

ENAME JOB SAL


---------- --------- ----------------------
KING PRESIDENT 5000
MARTIN SALESMAN 1250
ALLEN SALESMAN 1600
TURNER SALESMAN 1500
WARD SALESMAN 1250

SQL> SELECT ename, job, sal


2 FROM emp
3 WHERE (job='SALESMAN'
4 OR job='PRESIDENT')
5 AND sal>1500;

ENAME JOB SAL


---------- --------- ----------------
KING PRESIDENT 5000
ALLEN SALESMAN 1600
PENGURUTAN
Urut naik
SQL> SELECT ename, job, deptno, hiredate
2 FROM emp
3 ORDER BY hiredate;

ENAME JOB DEPTNO HIREDATE


---------- --------- ---------- -------------------------------------
SMITH CLERK 20 17-DEC-80
ALLEN SALESMAN 30 20-FEB-81
WARD SALESMAN 30 22-FEB-81

14 rows selected.

Urut turun
SQL> SELECT ename, job, deptno, hiredate
2 FROM emp
3 ORDER BY hiredate DESC;

ENAME JOB DEPTNO HIREDATE


---------- --------- ---------- ------------------------------------
ADAMS CLERK 20 12-JAN-83
SCOTT ANALYST 20 09-DEC-82
MILLER CLERK 10 23-JAN-82

14 rows selected.

Urut berdasarkan kolom alias


SQL> SELECT empno, ename, sal*12 annsal
2 FROM emp
3 ORDER BY annsal;

EMPNO ENAME ANNSAL


---------- ---------- ----------
7369 SMITH 9600
7900 JAMES 11400
7876 ADAMS 13200

14 rows selected.
Urut berdasarkan beberapa kolom
SQL> SELECT ename, deptno, sal
2 FROM emp
3 ORDER BY deptno, sal DESC;
ENAME DEPTNO SAL
---------- ---------- -----------------
KING 10 5000
CLARK 10 2450
MILLER 10 1300

14 rows selected.
Evaluasi

1. Buatlah query untuk menampilkan nama dan gaji dari pegawai yang lebih dari $2850. Simpan
SQL statement dengan nama p2ql.sql!

ENAME SAL
---------- ----------
KING 5000
JONES 2975
FORD 3000
SCOTT 3000

2. Buatlah query untuk menampilkan nama pagawai dan nomor departemen dari pegawai
bernomor 7566!

ENAME DEPTNO
---------- ----------
JONES 20

3. Ubahlah p2ql.sql untuk menampilkan nama dan gaji dari seluruh pegawai yang gajinya tidak
dalam range $1500 dan $2850. Simpan kembali dengan nama p2q3.sql. Jalankan kembali query
anda!

ENAME SAL
---------- -----------------------
KING 5000
JONES 2975
MARTIN 1250
JAMES 950
WARD 1250
FORD 3000
SMITH 800
SCOTT 3000
ADAMS 1100
MILLER 1300

10 rows selected.

4. Tampilkan nama pegawai, pekerjaan, dan tanggal mulai kerja para pegawai yang diterima antara
Febuari 20, 1981 dan Mei 1, 1981. Urutkan query secara menaik berdasarkan tanggal mulai
kerja!
ENAME JOB HIREDATE
---------- --------- ---------------------------
ALLEN SALESMAN 20-FEB-81
WARD SALESMAN 22-FEB-81
JONES MANAGER 02-APR-81
BLAKE MANAGER 01-MAY-81

5. Tampilkan nama pegawai dan nomor departemen dari semua pegawai yang berada dalam
departemen 10 dan 30 dengan urut berdasarkan alphabetical nama!
ENAME DEPTNO
---------- ----------------------
ALLEN 30
BLAKE 30
CLARK 10
JAMES 30
KING 10
MARTIN 30
MILLER 10
TURNER 30
WARD 30

9 rows selected.

6. Ubahlah p2q3.sql untuk dibuat daftar nama dan gaji dari pegawai yang lebih dari $1500 dan di
dalam departemen 10 atau 30. Label kolom diubah menjadi Employee dan Monthly Salary .
Simpan SQL statement anda dengan nama p2q5.sql. Jalankan kembali query anda!

EMPLOYEE Monthly Salary


---------- -------------------------------
KING 5000
BLAKE 2850
CLARK 2450
ALLEN 1600

7. Tampilkan nama dan pekerjaan yang tidak memiliki manager!

ENAME JOB
---------- ------------------------
KING PRESIDENT

8. Tampilkan seluruh pegawai yang huruf ketiga namanya adalah “A”


ENAME
----------
BLAKE
CLARK
ADAMS

9. Tampilkan seluruh pegawai yang memiliki dua huruf “L” pada namanya dan berada pada
departemen 30 atau manager nya 7782!
ENAME
----------
ALLEN
MILLER

10. Tampilkan nama, gaji dan komisi dari seluruh pegawai yang bekerja sebagai “Clerk” atau
“Analyst” dan gaji mereka tidak sama dengan $1000, $3000 atau $5000!
ENAME JOB SAL
---------- --------- -----------------------
JAMES CLERK 950
SMITH CLERK 800
ADAMS CLERK 1100
MILLER CLERK 1300

11. Ubahlah p2q5.sql untuk menampilkan nama, gaji dan komisi dari seluruh pegawai yang
komisinya lebih besar dari gaji ditambah 10%. Jalankan query anda! Simpan dengan nama
p2q10.sql!

EMPLOYEE Monthly Salary COMM


---------- -------------- ----------------------------
MARTIN 1250 1400

You might also like