Está en la página 1de 27

Restriccin y Ordenacin de Datos

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-2 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Limitacin de Filas Mediante una Seleccin

EMPLOYEES

recuperar todos
los empleados
del departamento 90

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


Limitacin de las Filas Seleccionadas

Restrinja las filas devueltas utilizando la clusula


WHERE.

SELECT *|{[DISTINCT] column|expression [alias],...}


FROM table
[WHERE condition(s)];

La clusula WHERE sigue a la clusula FROM.

2-4 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-5 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-6 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-7 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Uso de Condiciones de Comparacin

SELECT last_name, salary


FROM employees
WHERE salary <= 3000;

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


Otras Condiciones de Comparacin

Operador Significado

BETWEEN Entre dos valores (ambos inclusive),


...AND...

IN(set) Coincide con cualquiera de una lista de valores

LIKE Coincide con un patrn de caracteres

IS NULL Es un valor nulo

2-9 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-10 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Uso de la Condicin IN

Utilice la condicin IN de pertenencia para comprobar


si hay valores en una lista.
SELECT employee_id, last_name, salary, manager_id
FROM employees
WHERE manager_id IN (100, 101, 201);

2-11 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-12 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Uso de la Condicin LIKE

Puede combinar caracteres de coincidencia de patrones.


SELECT last_name
FROM employees
WHERE last_name LIKE '_o%';

Puede utilizar el identificador ESCAPE para buscar los


smbolos % y _ reales.

2-13 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-14 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Condiciones Lgicas

Operador Significado

AND Devuelve TRUE si las dos condiciones


componentes son verdaderas
OR Devuelve TRUE si alguna de las
condiciones componentes es verdadera

NOT Devuelve TRUE si la siguiente


condicin es falsa

2-15 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-16 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-17 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Uso del Operador NOT

SELECT last_name, job_id


FROM employees
WHERE job_id
NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');

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


Reglas de Prioridad

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
Las reglas de prioridad se sustituyen mediante el uso de
parntesis.

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


Reglas de Prioridad

SELECT last_name, job_id, salary


FROM employees
WHERE job_id = 'SA_REP'
OR job_id = 'AD_PRES'
AND salary > 15000;

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


Reglas de Prioridad

Utilice parntesis para forzar la prioridad.

SELECT last_name, job_id, salary


FROM employees
WHERE (job_id = 'SA_REP'
OR job_id = 'AD_PRES')
AND salary > 15000;

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


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.
SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY hire_date ;

2-22 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-23 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-24 Copyright Oracle Corporation, 2001. Todos los derechos reservados.


Ordenacin segn Mltiples Columnas

El orden de la lista ORDER BY es el de ordenacin.


SELECT last_name, department_id, salary
FROM employees
ORDER BY department_id, salary DESC;


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

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


Resumen

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
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table
[WHERE condition(s)]
[ORDER BY {column, expr, alias} [ASC|DESC]];

2-26 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

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

También podría gustarte