Está en la página 1de 18

Leccin 2

Limitar la Seleccin de filas


Objetivos

Ordenar las filas de salida usando la clusula


ORDER BY.
Limitar la de bsqueda usando la clusula
WHERE.
La clsula ORDER BY

Clasifique filas con la clusula ORDER BY.


ASC orden ascendente, por default.
DESC orden descendente.
Ponga la clsula ORDER BY al final del SELECT.
SQL> SELECT last_name, dept_id, start_date
2 FROM s_emp
3 ORDER BY last_name;
La clusula ORDER BY

Por default la clasificacin es ascendente.


El orden de puede ser revertido usando DESC.
Puede ordenarse por expresiones o alias.

SQL> SELECT last_name EMPLOYEE, start_date


2 FROM s_emp
3 ORDER BY EMPLOYEE DESC;

Los valores nulos sern presentados:


Al final cuando es orden ascendente.
Al comienzo cuando es descendente.
Clasificacin por Mltiples Columnas

Puede ordenar por su ubicacin relativa.


SQL> SELECT last_name, salary * 12
2 FROM s_emp
3 ORDER BY 2;

Puede clasificar por mltiples columnas.


SQL> SELECT last_name, dept_id, salary
2 FROM s_emp
3 ORDER BY dept_id, salary DESC;

La ubicacin en el ORDER BY define el criterio


de clasificacin.
Se puede clasificar por una columna que no est
en la lista del SELECT.
Limitando las Filas Seleccionadas
Para limitar las filas que han de retornar use la
clusula WHERE
La clusula permite limitar las filas del FROM.
La Condicin consiste de:
Nombre de Columna, expresin o constante
Operador de Compacin
Literal
SQL> SELECT last_name, dept_id, salary
2 FROM s_emp
3 WHERE dept_id = 42;
Strings de caracteres y fechas

Una cadena de caracteres o un campo date debe


estar encerrado entre quotes.
Los valores numricos no requieren encerrarse
dentro de quotes.
Se diferencian las maysculas y minsculas.
El formato por default en los date es 'DD-MON-YY'.

SQL> SELECT first_name, last_name, title


2 FROM s_emp
3 WHERE last_name = 'Magee';
Operadores de Compacin y Lgicos
Operadores de comparacin lgica
= > >= < <=
Operadores de comparacin SQL
BETWEEN ... AND...
IN(lista)
LIKE
IS NULL
Operadores booleanos o lgicos
AND
OR
NOT
Expresiones Negativas

Para excluir filas que Ud. no desea presentar


fcilmente puede eliminarlas.
Operadores de comparacin lgica
!= <> ^=
Operadores SQL
NOT BETWEEN
NOT IN
NOT LIKE
IS NOT NULL
Operadores SQL BETWEEN e IN

Use el operador BETWEEN para consultar por


valores incluidos dentro de un rango.
SQL> SELECT first_name, last_name, start_date
2 FROM s_emp
3 WHERE start_date BETWEEN '09-may-91'
4 AND '17-jun-91';

Use el IN para limitar una variable categrica.


SQL> SELECT id, name, region_id
2 FROM s_dept
3 WHERE region_id IN (1,3);
Operador SQL LIKE

Puede emplear el operador LIKE para ejecutar una


bsqueda similar a un conjunto de valores.
Las condiciones de bsqueda puede contener
comodines.
"%" denota ninguno o muchos caracteres.
"_" denota un solo carcter en esa ubicacin.
SQL> SELECT last_name
2 FROM s_emp
3 WHERE last_name LIKE 'M%';
Operador SQL LIKE

El operador LIKE puede emplearse como un atajo


para algunas comparaciones.
SQL> SELECT last_name, start_date
2 FROM s_emp
3 WHERE start_date LIKE '%91';

Puede combinar el patrn de bsqueda.


SQL> SELECT last_name
2 FROM s_emp
3 WHERE last_name LIKE '_a%';

Para efectuar la bsqueda debe usar el comodn


"%" o "_".
Operador SQL IS NULL

Para consultar si una columna es nula use el


operador IS NULL.
No debe usar el operador =
SQL> SELECT id, name, credit_rating
2 FROM s_customer
3 WHERE sales_rep_id IS NULL;
Condiciones Mltiples
Emplear criterios de pertenencia complejos.
Combine condiciones con operadores AND o OR.
AND todas las condiciones deben ser verdadero.
SQL> SELECT last_name, salary, dept_id, title
2 FROM s_emp
3 WHERE dept_id = 41
4 AND title = 'Stock Clerk';

OR require que alguna condicin sea verdadera.


SQL> SELECT last_name, salary, dept_id, title
2 FROM s_emp
3 WHERE dept_id = 41
4 OR title = 'Stock Clerk';
Reglas de Precedencia de operadores
booleanos
Puede modificar las reglas de precedencia de los
operadores booleanos usando parntesis.

Order Evaluated Operator


1 All comparison operators.
2 AND
3 OR
Reglas de Precedencia: Ejemplos
Presente la informacin para los empleados del
departmento 44 que ganen 1000 o ms, asi como a los
empleados del departmento 42.
SQL> SELECT last_name, salary, dept_id
2 FROM s_emp
3 WHERE salary >= 1000
4 AND dept_id = 44
5 OR dept_id = 42;

Presente la informacin para los empleados del


departmento 44 o 42 que ganen 1000 o ms.
SQL> SELECT last_name, salary, dept_id
2 FROM s_emp
3 WHERE salary >= 1000
4 AND (dept_id = 44
5 OR dept_id = 42);
Resumen

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


FROM table
[WHERE condition(s)]
[ORDER BY {column, expr, alias} [ASC|DESC]];
Vista General de la Prctica

Seleccionar data y cambiar el orden de


presentacin de las filas
Restringir filas empleando la clsula WHERE
Encerrar con doble quote los sobre nombres de
columna

También podría gustarte