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