A cláusula WHERE |
A cláusula WHERE corresponde ao operador restrição da Algebra Relacional. Contém uma condição que os registos têm de satisfazer para que sejam visualizados.
A condição tem a seguinte estrutura:
Nome de uma coluna | Operadores de
comparação ou
Operadores de SQL |
Nome de uma coluna ou
constante ou lista de valores |
Ex: Listar empregados (nome e cargo) cujo salário seja superior ou igual a 3000:
SELECT ename, job, sal FROM emp WHERE sal >= 3000; |
ENAME JOB SAL ---------- --------- --------- SCOTT ANALYST 3000 KING PRESIDENT 5000 FORD ANALYST 3000 3 rows selected. |
O NOT pode ser utilizador para negar a condição. Por exemplo listar nome e cargo de empregado cujo salário seja inferior a 3000:
SELECT ename, job, sal FROM emp WHERE NOT sal >= 3000; |
ENAME JOB SAL ---------- --------- --------- SMITH CLERK 800 ALLEN SALESMAN 1600 WARD SALESMAN 1250 JONES MANAGER 2975 MARTIN SALESMAN 1250 BLAKE MANAGER 2850 CLARK MANAGER 2450 TURNER SALESMAN 1500 ADAMS CLERK 1100 JAMES CLERK 950 MILLER CLERK 1300 11 rows selected. |
Ex: Encontrar os departamentos cujo número de departamento é maior que 20:
SELECT dname, deptno FROM dept WHERE deptno > 20; |
DNAME DEPTNO -------------- --------- SALES 30 OPERATIONS 40 2 rows selected. |
Ex: Listar empregados cuja função seja CLERCK:
SELECT ename, empno, job, deptno FROM emp WHERE job = 'CLERK'; |
ENAME EMPNO JOB DEPTNO ---------- --------- --------- --------- SMITH 7369 CLERK 20 ADAMS 7876 CLERK 20 JAMES 7900 CLERK 30 MILLER 7934 CLERK 10 4 rows selected. |
Ex: Listar empregados que tenham sido admintidos na empresa em data posterior a 09 de Junho de 1981:
SELECT ename, job, hiredate FROM emp WHERE hiredate > to_date('1981-07-09','yyyy-mm-dd'); |
ENAME JOB HIREDATE ---------- --------- -------- MARTIN SALESMAN 81.09.28 SCOTT ANALYST 82.12.09 KING PRESIDENT 81.11.17 TURNER SALESMAN 81.09.08 ADAMS CLERK 83.01.12 JAMES CLERK 81.12.03 FORD ANALYST 81.12.03 MILLER CLERK 82.01.23 8 rows selected. |
Podem ser comparadas colunas da mesma linha. O comando abaixo lista os empregados cuja comissão é superior ao salário:
SELECT ename, sal, comm FROM emp WHERE comm > sal; |
ENAME SAL COMM ---------- --------- --------- MARTIN 1250 1400 1 row selected. |
Realizado por Turtle Learning ®. Última alteração em 2011-02-26