Lecc02 Select simple where
Copyright © EDCON Tecnologías de Información, 2008.
Objetivos
Al completar esta lección podrá realizar lo siguiente:
•
•
•
Limitar registros recuperados por una consulta
Ordenar registros recuperados por una búsqueda
Usar la sustitución (ampersand) en iSQL*Plus para
restringir y ordenar la salida en tiempo de
ejecución.
2-2
Limitando registros usando unaselección
EMPLOYEES
…
“Recuperar todos
los empleados del
departamento 90”
2-3
Limitando los registros seleccionados
•
Restringir los registros retornados por el uso de la
cláusula WHERE.
SELECT
FROM
[WHERE
•
*|{[DISTINCT] column|expression [alias],...}
table
condition(s)];
La cláusula WHERE va después de la cláusula FROM.
2-4
Usando la cláusula WHERE
SELECT employee_id, last_name,job_id, department_id
FROM
employees
WHERE department_id = 90 ;
2-5
Cadenas de Caracteres y fechas
•
Los valores de cadenas de caracteres y fechas
son encerrados en comillas simples.
•
Los valores de carácter son “case sensitive”, y los
valores de fecha son de formato sensible .
•
El formato de fecha por defecto es DD-MON-RR.
SELECT last_name, job_id, department_id
FROM
employees
WHERElast_name = 'Whalen';
2-6
Condiciones de Comparación
Operador
Significado
=
Igual
>
Mayor que
>=
Mayor o igual que
<
Menor que
<=
Menor o igual que
<>
No igual o diferente
BETWEEN
...AND...
Entre dos valores
IN(set)
En un lista de valores
LIKE
Como una cadena de
caracteres
IS NULL
Es valor nulo
2-7
Usando Condiciones de Comparación
SELECT last_name, salary
FROM
employees
WHEREsalary <= 3000;
2-8
Usando la condición BETWEEN
Usar la condición BETWEEN para desplegar registros
basados en un rango de valores.
SELECT last_name, salary
FROM
employees
WHERE salary BETWEEN 2500 AND 3500;
Límite Menor Límite Mayor
2-9
Usando la condición IN
Usar la condición IN para probar los valores en una lista.
SELECT employee_id, last_name, salary, manager_id
FROM
employees
WHEREmanager_id IN (100, 101, 201);
2-10
Usando la Condición LIKE
•
Usar la condición LIKE para ejecutar búsquedas
utilizando comodines para la búsqueda valida de
cadenas de valores.
•
Buscar condiciones que puedan contener literales
de carácter o numéricas:
– % denota cero o varios caracteres.
– _ denota un carácter.
SELECT
FROM
WHERE
first_name
employees
first_name LIKE 'S%';
2-11
Usando laCondición LIKE
•
Se puede combinar ambos comodines.
SELECT last_name
FROM
employees
WHERE last_name LIKE '_o%';
•
Se puede utilizar el identificador ESCAPE para
interactuar con los símbolos % y _ .
2-12
Usando la condición NULL
Probar nulos con el operador IS NULL.
SELECT last_name, manager_id
FROM
employees
WHERE manager_id IS NULL;
2-13
Condiciones Lógicas
Operador
Significado
ANDRetorna TRUE si ambos componentes
de la condición son verdaderos
OR
Retorna TRUE si cada componente de
la condición es verdadero
NOT
Retorna TRUE si el la condición
siguiente es falsa
2-14
Usando el operador AND
AND requiere que ambas condiciones sean verdaderas.
SELECT
FROM
WHERE
AND
employee_id, last_name, job_id, salary
employees
salary >=10000
job_id LIKE '%MAN%';
2-15
Usando eloperador OR
OR requiere que una condición sea verdadera.
SELECT
FROM
WHERE
OR
employee_id, last_name, job_id, salary
employees
salary >= 10000
job_id LIKE '%MAN%';
2-16
Usando el operador NOT
SELECT last_name, job_id
FROM
employees
WHERE job_id
NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');
2-17
Reglas de Precedencia
Orden Evaluado
1
2
3
4
5
6
7
8
Operador
Operadores Aritmeticos
Operadores deConcatenación
Condiciones de Comparación
IS [NOT] NULL,, LIKE,, [NOT] IN
[NOT] BETWEEN
Condición lógica NOT
Condición lógica AND
Condición lógica OR
Derogación de la precedencia usando paréntesis.
2-18
Reglas de Precedencia
SELECT
FROM
WHERE
OR
AND
last_name, job_id, salary
employees
job_id = 'SA_REP'
job_id = 'AD_PRES'
salary > 15000;
2-19
Reglas de Precedencia
Usar paréntesis para...
Regístrate para leer el documento completo.