Download - Lecc02 Oracle
-
Restringiendo y Ordenando datosRestringiendo y Ordenando datos
Copyright EDCON Tecnologas de Informacin, 2008.
-
ObjetivosObjetivos
Al completar esta leccin podr realizar lo siguiente:
Limitar registros recuperados por una consulta Ordenar registros recuperados por una bsqueda Usar la sustitucin (ampersand) en iSQL*Plus para
2-2
Usar la sustitucin (ampersand) en iSQL*Plus para restringir y ordenar la salida en tiempo de ejecucin.
-
Limitando registros usando una seleccinLimitando registros usando una seleccin
EMPLOYEES
2-3
Recuperar todoslos empleados del departamento 90
-
Limitando los registros seleccionadosLimitando los registros seleccionados
Restringir los registros retornados por el uso de la clusula WHERE.
SELECT *|{[DISTINCT] column|expression [alias],...}FROM table[WHERE condition(s)];
2-4
La clusula WHERE va despus de la clusula FROM.
[WHERE condition(s)];
-
Usando la clusula Usando la clusula WHEREWHERE
SELECT employee_id, last_name, job_id, department_idFROM employeesWHERE department_id = 90 ;
2-5
-
Cadenas de Caracteres y fechasCadenas de Caracteres y fechas
Los valores de cadenas de caracteres y fechas son encerrados en comillas simples.
Los valores de carcter son case sensitive, y los valores de fecha son de formato sensible .
El formato de fecha por defecto es DD-MON-RR.
2-6
El formato de fecha por defecto es DD-MON-RR.SELECT last_name, job_id, department_idFROM employeesWHERE last_name = 'Whalen';
-
Condiciones de ComparacinCondiciones de ComparacinOperador Significado
= Igual> Mayor que
>= Mayor o igual que< Menor que
- SELECT last_name, salaryFROM employeesWHERE salary
-
Usando la condicin Usando la condicin BETWEENBETWEEN
Usar la condicin BETWEEN para desplegar registros basados en un rango de valores.SELECT last_name, salaryFROM employeesWHERE salary BETWEEN 2500 AND 3500;
2-9
Lmite Menor Lmite Mayor
-
SELECT employee_id, last_name, salary, manager_idFROM employeesWHERE manager_id IN (100, 101, 201);
Usando la condicin Usando la condicin ININ
Usar la condicin IN para probar los valores en una lista.
2-10
-
Usando la Condicin Usando la Condicin LIKELIKE
Usar la condicin LIKE para ejecutar bsquedas utilizando comodines para la bsqueda valida de cadenas de valores.
Buscar condiciones que puedan contener literales de carcter o numricas:
2-11
de carcter o numricas: % denota cero o varios caracteres. _ denota un carcter.
SELECT first_nameFROM employeesWHERE first_name LIKE 'S%';
-
Se puede combinar ambos comodines.
Usando la Condicin Usando la Condicin LIKELIKE
SELECT last_nameFROM employeesWHERE last_name LIKE '_o%';
2-12
Se puede utilizar el identificador ESCAPE para interactuar con los smbolos % y _ .
-
Usando la condicin Usando la condicin NULLNULL
Probar nulos con el operador IS NULL.
SELECT last_name, manager_idFROM employeesWHERE manager_id IS NULL;
2-13
WHERE manager_id IS NULL;
-
Condiciones LgicasCondiciones Lgicas
Operador
AND
OR
Significado
Retorna TRUE si ambos componentes de la condicin son verdaderos
Retorna TRUE si cada componente de la condicin es verdadero
2-14
NOTla condicin es verdadero
Retorna TRUE si el la condicin siguiente es falsa
-
Usando el operador Usando el operador ANDAND
AND requiere que ambas condiciones sean verdaderas.SELECT employee_id, last_name, job_id, salaryFROM employeesWHERE salary >=10000AND job_id LIKE '%MAN%';
2-15
AND job_id LIKE '%MAN%';
-
Usando el operador Usando el operador OROR
OR requiere que una condicin sea verdadera.SELECT employee_id, last_name, job_id, salaryFROM employeesWHERE salary >= 10000OR job_id LIKE '%MAN%';
2-16
-
SELECT last_name, job_idFROM employeesWHERE job_id
NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');
Usando el operador Usando el operador NOTNOT
2-17
-
Reglas de PrecedenciaReglas de Precedencia
Orden Evaluado Operador1 Operadores Aritmeticos 2 Operadores de Concatenacin3 Condiciones de Comparacin4 , ,
2-18
Derogacin de la precedencia usando parntesis.
4 IS [NOT] NULL, LIKE, [NOT] IN5 [NOT] BETWEEN6 Condicin lgica NOT7 Condicin lgica AND8 Condicin lgica OR
-
SELECT last_name, job_id, salaryFROM employeesWHERE job_id = 'SA_REP'OR job_id = 'AD_PRES'AND salary > 15000;
Reglas de PrecedenciaReglas de Precedencia
2-19
-
SELECT last_name, job_id, salaryFROM employeesWHERE (job_id = 'SA_REP'
Reglas de PrecedenciaReglas de Precedencia
Usar parntesis para forzar la prioridad.
2-20
WHERE (job_id = 'SA_REP'OR job_id = 'AD_PRES')AND salary > 15000;
-
SELECT last_name, job_id, department_id, hire_date
Clusula Clusula ORDER BYORDER BY Ordenamiento de los registros con la clusula
ORDER BY ASC: orden ascendente, por defecto DESC: orden descendente
La clusula ORDER BY va de ltimo en la sentencia SELECT.
2-21
SELECT last_name, job_id, department_id, hire_dateFROM employeesORDER BY hire_date ;
-
Clasificando en orden DescendenteClasificando en orden Descendente
SELECT last_name, job_id, department_id, hire_dateFROM employeesORDER BY hire_date DESC ;
2-22
-
Ordenando por Alias de ColumnasOrdenando por Alias de Columnas
SELECT employee_id, last_name, salary*12 annsalFROM employeesORDER BY annsal;
2-23
-
El orden de la lista de ORDER BY es el orden de la fuente.SELECT last_name, department_id, salaryFROM employeesORDER BY department_id, salary DESC;
Ordenando por Mltiples ColumnasOrdenando por Mltiples Columnas
2-24
Se puede ordenar por columnas que no estn en la lista del SELECT.
-
Sustitucin de VariablesSustitucin de Variables
... salary = ? department_id = ? ... last_name = ? ...Quiero hacer
2-25
... last_name = ? ...Quiero hacer la misma consulta con diferentes valores.
-
Sustitucin de VariablesSustitucin de Variables
Usar la sustitucin de variables de iSQL*Plus para: Almacenar valores temporales con un ampersand
(&) y doble ampersand (&&). Usar la sustitucin de variables en:
2-26
Usar la sustitucin de variables en: Condiciones WHERE Clausula ORDER BY Expresiones en Columnas. Nombre de Tablas En toda una sentencia SELECT
-
Sustitucin de VariablesSustitucin de Variables
Utilice una variable con el prefijo de ampersand (&) para capturar un valor:
SELECT employee_id, last_name, salary, department_idFROM employeesWHERE employee_id = &employee_num ;
2-27
WHERE employee_id = &employee_num ;
-
Sustitucin de VariablesSustitucin de Variables
2-28
-
Valores de tipo carcter y fecha con Valores de tipo carcter y fecha con sustitucin de variablessustitucin de variables
Utilice comillas simples para valores de fecha y carcter.
SELECT last_name, department_id, salary*12FROM employeesWHERE job_id = '&job_title' ;
2-29
-
Especificando nombres de columna, Especificando nombres de columna, expresiones y textoexpresiones y texto
SELECT employee_id, last_name, job_id,&column_nameFROM employeesWHERE &conditionORDER BY &order_column ;
2-30
-
Usando las variables de Sustitucin &&Usando las variables de Sustitucin &&
Use el ampersand doble (&&) si desea re-utilizar el valor de la variable sin que lo introduzca cada vez.
SELECT employee_id, last_name, job_id, &&column_nameFROM employeesORDER BY &column_name ;
2-31
-
Usando el comando DEFINE de Usando el comando DEFINE de iSQLiSQL*Plus*Plus
Utilice el comando DEFINE para crear y asignar un valor a la variable.
Utilice el comando UNDEFINE para eliminar la variable.
2-32
DEFINE employee_num = 200SELECT employee_id, last_name, salary, department_idFROM employeesWHERE employee_id = &employee_num ;UNDEFINE employee_num
-
Usando el comando VERIFYUsando el comando VERIFY
Utilice el comando VERYFY para mostrar el valor de la variable de sustitucin, antes y despus que iSQL*Plus remplace las variables de sustitucin con los valores:
SET VERIFY ON
2-33
old 3: WHERE employee_id = &employee_numnew 3: WHERE employee_id = 200
SELECT employee_id, last_name, salary, department_idFROM employeesWHERE employee_id = &employee_num;
-
ResumenResumenEn esta leccin habr aprendido acerca de: Uso de la clusula WHERE para restringir registros
devueltos Uso de condiciones de comparacin Uso de condiciones BETWEEN, IN, LIKE, y NULL Aplicando los operadores lgicos AND, OR, y NOT
2-34
SELECT *|{[DISTINCT] column|expression [alias],...}FROM table[WHERE condition(s)][ORDER BY {column, expr, alias} [ASC|DESC]];
Aplicando los operadores lgicos AND, OR, y NOT Uso de la clusula ORDER BY para ordenara registros
devueltos
Uso del smbolo de sustitucin ampersand (&) para restringir u ordenar la salida en tiempo de ejecucin.