Sunteți pe pagina 1din 27

Copyright Oracle Corporation, 2001. Todos los derechos reservados.

Restriccin y Ordenacin de Datos



2-2 Copyright Oracle Corporation, 2001. Todos los derechos reservados.
Objetivos
Al finalizar esta leccin, debera estar capacitado
para:
Limitar las filas recuperadas por una consulta
Ordenar las filas recuperadas por una consulta
2-3 Copyright Oracle Corporation, 2001. Todos los derechos reservados.
Limitacin de Filas Mediante una Seleccin
recuperar todos
los empleados
del departamento 90
EMPLOYEES

2-4 Copyright Oracle Corporation, 2001. Todos los derechos reservados.
Limitacin de las Filas Seleccionadas
Restrinja las filas devueltas utilizando la clusula
WHERE.



La clusula WHERE sigue a la clusula FROM.


SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table
[WHERE condition(s)];
2-5 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Uso de la Clusula WHERE
SELECT employee_id, last_name, job_id, department_id
FROM employees
WHERE department_id = 90 ;
2-6 Copyright Oracle Corporation, 2001. Todos los derechos reservados.
Cadenas de Caracteres y Fechas
Las cadenas de caracteres y los valores de fechas se
escriben entre comillas simples.
Los valores de caracteres son sensibles a
maysculas/minsculas y los de fecha, al formato.
El formato de fecha por defecto es DD-MON-RR.
SELECT last_name, job_id, department_id
FROM employees
WHERE last_name = 'Whalen';
2-7 Copyright Oracle Corporation, 2001. Todos los derechos reservados.
Condiciones de Comparacin
Operador
=
>
>=
<
<=
<>
Significado
Igual que
Mayor que
Mayor o igual que
Menor que
Menor o igual que
No igual a
2-8 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


SELECT last_name, salary
FROM employees
WHERE salary <= 3000;
Uso de Condiciones de Comparacin
2-9 Copyright Oracle Corporation, 2001. Todos los derechos reservados.
Otras Condiciones de Comparacin
Operador
BETWEEN
...AND...
IN(set)
LIKE
IS NULL
Significado
Entre dos valores (ambos inclusive),

Coincide con cualquiera de una lista de valores
Coincide con un patrn de caracteres
Es un valor nulo
2-10 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Uso de la Condicin BETWEEN
Utilice la condicin BETWEEN para mostrar filas incluidas en
un rango de valores.
SELECT last_name, salary
FROM employees
WHERE salary BETWEEN 2500 AND 3500;
Lmite inferior Lmite superior
2-11 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


SELECT employee_id, last_name, salary, manager_id
FROM employees
WHERE manager_id IN (100, 101, 201);
Uso de la Condicin IN
Utilice la condicin IN de pertenencia para comprobar
si hay valores en una lista.
2-12 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Uso de la Condicin LIKE
Utilice la condicin LIKE para realizar bsquedas con
comodines de valores vlidos de la cadena de
bsqueda.
Las condiciones de bsqueda pueden contener
caracteres literales o nmeros:
% indica cero o muchos caracteres.
_ indica un carcter.
SELECT first_name
FROM employees
WHERE first_name LIKE 'S%';
2-13 Copyright Oracle Corporation, 2001. Todos los derechos reservados.
Puede combinar caracteres de coincidencia de patrones.





Puede utilizar el identificador ESCAPE para buscar los
smbolos % y _ reales.


Uso de la Condicin LIKE
SELECT last_name
FROM employees
WHERE last_name LIKE '_o%';
2-14 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Uso de las Condiciones NULL
Compruebe si hay valores nulos con el operador IS NULL.
SELECT last_name, manager_id
FROM employees
WHERE manager_id IS NULL;
2-15 Copyright Oracle Corporation, 2001. Todos los derechos reservados.
Condiciones Lgicas
Operador
AND

OR

NOT
Significado
Devuelve TRUE si las dos condiciones
componentes son verdaderas
Devuelve TRUE si alguna de las
condiciones componentes es verdadera
Devuelve TRUE si la siguiente
condicin es falsa
2-16 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Uso del Operador AND
AND requiere que las dos condiciones sean verdaderas.
SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary >=10000
AND job_id LIKE '%MAN%';
2-17 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Uso del Operador OR
OR requiere que una de las condiciones sea verdadera.
SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary >= 10000
OR job_id LIKE '%MAN%';
2-18 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


SELECT last_name, job_id
FROM employees
WHERE job_id
NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');
Uso del Operador NOT
2-19 Copyright Oracle Corporation, 2001. Todos los derechos reservados.
Reglas de Prioridad
Las reglas de prioridad se sustituyen mediante el uso de
parntesis.
Orden de Evaluacin Operador
1 Operadores aritmticos
2 Operador de concatenacin
3 Condiciones de comparacin
4 IS [NOT] NULL, LIKE, [NOT] IN
5 [NOT] BETWEEN
6 condicin lgica NOT
7 condicin lgica AND
8 condicin lgica OR
2-20 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


SELECT last_name, job_id, salary
FROM employees
WHERE job_id = 'SA_REP'
OR job_id = 'AD_PRES'
AND salary > 15000;
Reglas de Prioridad
2-21 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


SELECT last_name, job_id, salary
FROM employees
WHERE (job_id = 'SA_REP'
OR job_id = 'AD_PRES')
AND salary > 15000;
Reglas de Prioridad
Utilice parntesis para forzar la prioridad.
2-22 Copyright Oracle Corporation, 2001. Todos los derechos reservados.




SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY hire_date ;
Clusula ORDER BY
Ordene filas con la clusula ORDER BY
ASC: orden ascendente, por defecto
DESC: orden descendente
La clusula ORDER BY aparece en ltimo lugar en la
sentencia SELECT.

2-23 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Ordenacin en Orden Descendente
SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY hire_date DESC ;

2-24 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Ordenacin segn Alias de Columna
SELECT employee_id, last_name, salary*12 annsal
FROM employees
ORDER BY annsal;

2-25 Copyright Oracle Corporation, 2001. Todos los derechos reservados.
El orden de la lista ORDER BY es el de ordenacin.









Puede ordenar segn una columna que no se encuentre
en la lista SELECT.


SELECT last_name, department_id, salary
FROM employees
ORDER BY department_id, salary DESC;
Ordenacin segn Mltiples Columnas

2-26 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Resumen
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table
[WHERE condition(s)]
[ORDER BY {column, expr, alias} [ASC|DESC]];
En esta leccin, debera haber aprendido a:
Utilizar la clusula WHERE para restringir filas de
salida
Utilizar las condiciones de comparacin
Utilizar las condiciones BETWEEN, IN, LIKE y NULL
Aplicar los operadores lgicos AND, OR y NOT
Utilizar la clusula ORDER BY para ordenar filas de salida
2-27 Copyright Oracle Corporation, 2001. Todos los derechos reservados.
Visin General de la Prctica 2
Esta prctica cubre los siguientes temas:
Seleccin de datos y cambio del orden de las filas
mostradas
Restriccin de filas utilizando la clusula WHERE
Ordenacin de filas utilizando la clusula ORDER BY

S-ar putea să vă placă și