La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Copyright  Oracle Corporation, 1998. All rights reserved. 2 Restricción y ordenación de datos.

Presentaciones similares


Presentación del tema: "Copyright  Oracle Corporation, 1998. All rights reserved. 2 Restricción y ordenación de datos."— Transcripción de la presentación:

1 Copyright  Oracle Corporation, 1998. All rights reserved. 2 Restricción y ordenación de datos

2 2-2 Copyright  Oracle Corporation, 1998. All rights reserved. Objetivos Al completar esta lección, debería ser capaz de hacer lo siguiente: Limitar las filas recuperadas por una consulta. Ordenar las filas recuperadas por una consulta. Al completar esta lección, debería ser capaz de hacer lo siguiente: Limitar las filas recuperadas por una consulta. Ordenar las filas recuperadas por una consulta.

3 2-3 Copyright  Oracle Corporation, 1998. All rights reserved. Limitar filas mediante una selección “…recupera todos los empleados del departamento 10” EMPLOYEEES EMPNO ENAME JOB... DEPTNO 7839KINGPRESIDENT 10 7698BLAKEMANAGER 30 7782CLARKMANAGER 10 7566JONESMANAGER 20... EMPLOYEES EMPNO ENAME JOB... DEPTNO 7839KINGPRESIDENT 10 7782CLARKMANAGER 10 7934MILLERCLERK 10

4 2-4 Copyright  Oracle Corporation, 1998. All rights reserved. Limitación de las filas seleccionadas Restringir las filas recuperadas usando la cláusula WHERE. La cláusula WHERE se escribe después de la cláusula FROM. Restringir las filas recuperadas usando la cláusula WHERE. La cláusula WHERE se escribe después de la cláusula FROM. SELECT*|{[DISTINCT] column|expression [alias],…} FROMtable; [WHEREcondition(s)];

5 2-5 Copyright  Oracle Corporation, 1998. All rights reserved. Uso de la claúsula WHERE SQL> SELECT ename, job, deptno 2 FROM emp 3 WHERE job='CLERK'; ENAME JOB DEPTNO ---------- --------- --------- JAMES CLERK 30 SMITH CLERK 20 ADAMS CLERK 20 MILLER CLERK 10

6 2-6 Copyright  Oracle Corporation, 1998. All rights reserved. Cadenas de caracteres y fechas Las cadenas de caracteres o las fechas se encierran entre comillas simples. Las cadenas de caracteres o las fechas se encierran entre comillas simples. Los ee tipo carácter son sensibles a mayúsculas/minúsculas y los valores de tipo fecha son sensibles al formato. Los ee tipo carácter son sensibles a mayúsculas/minúsculas y los valores de tipo fecha son sensibles al formato. Formato fecha defecto es 'DD-MON-RR'. Formato fecha defecto es 'DD-MON-RR'. Las cadenas de caracteres o las fechas se encierran entre comillas simples. Las cadenas de caracteres o las fechas se encierran entre comillas simples. Los ee tipo carácter son sensibles a mayúsculas/minúsculas y los valores de tipo fecha son sensibles al formato. Los ee tipo carácter son sensibles a mayúsculas/minúsculas y los valores de tipo fecha son sensibles al formato. Formato fecha defecto es 'DD-MON-RR'. Formato fecha defecto es 'DD-MON-RR'. SQL> SELECTlast_name, job_id, department_id 2 FROM employees 3 WHERElast_name = ‘Whalen'; SQL> SELECTlast_name, job_id, department_id 2 FROM employees 3 WHERElast_name = ‘Whalen';

7 2-7 Copyright  Oracle Corporation, 1998. All rights reserved. Condiciones de comparación Operador = > >= < <= <> Significado Igual a Mayor que Mayor que o igual a Menor que Menor que o igual a Diferente

8 2-8 Copyright  Oracle Corporation, 1998. All rights reserved. Uso de condiciones de comparación SQL> SELECT ename, sal, comm 2 FROM emp 3 WHERE sal<=comm; ENAME SAL COMM ---------- --------- --------- MARTIN 1250 1400

9 2-9 Copyright  Oracle Corporation, 1998. All rights reserved. Otras condiciones de Comparación Condición BETWEEN...AND... IN (set) LIKE IS NULL Significado Entre dos valores (inclusive) Lista de valores Se ajusta a un patrón de caracteres Es un valor nulo

10 2-10 Copyright  Oracle Corporation, 1998. All rights reserved. Uso de la condición BETWEEN ENAME SAL ---------- --------- MARTIN 1250 TURNER 1500 WARD 1250 ADAMS 1100 MILLER 1300 SQL> SELECTename, sal 2 FROM emp 3 WHEREsal BETWEEN 1000 AND 1500; Límite inferior Use la condición BETWEEN para visualizar registros basados en un rango de valores. Límite superior

11 2-11 Copyright  Oracle Corporation, 1998. All rights reserved. Uso de la condición IN Use la condición IN de pertenencia para comprobar si hay valores en una lista. SQL> SELECTempno, ename, sal, mgr 2 FROM emp 3 WHEREmgr IN (7902, 7566, 7788); EMPNO ENAME SAL MGR --------- ---------- --------- --------- 7902 FORD 3000 7566 7369 SMITH 800 7902 7788 SCOTT 3000 7566 7876 ADAMS 1100 7788

12 2-12 Copyright  Oracle Corporation, 1998. All rights reserved. Uso de la condición LIKE SQL> SELECTfirst_name 2 FROM employees 3 WHEREfirst_name LIKE 'S%'; Usar el operador LIKE para ejecutar búsquedas en cadenas de caracteres que incluyan comodines. Usar el operador LIKE para ejecutar búsquedas en cadenas de caracteres que incluyan comodines. Las condiciones de búsqueda pueden contener caracteres o números. Las condiciones de búsqueda pueden contener caracteres o números. – "%" denota cero o varios caracteres. – "_" denota un solo carácter. Usar el operador LIKE para ejecutar búsquedas en cadenas de caracteres que incluyan comodines. Usar el operador LIKE para ejecutar búsquedas en cadenas de caracteres que incluyan comodines. Las condiciones de búsqueda pueden contener caracteres o números. Las condiciones de búsqueda pueden contener caracteres o números. – "%" denota cero o varios caracteres. – "_" denota un solo carácter.

13 2-13 Copyright  Oracle Corporation, 1998. All rights reserved. Uso de la condición LIKE SQL> SELECTlast_name 2 FROMemployees 3 WHERElast_name LIKE '_o%'; ENAME ---------- Lorentz Mourgos Se puede combinar patrones de caracteres. Se puede combinar patrones de caracteres. Se puede usar el identificador ESCAPE Se puede usar el identificador ESCAPE para buscar "%" y "_" para buscar "%" y "_"

14 2-14 Copyright  Oracle Corporation, 1998. All rights reserved. Uso de las condiciones NULL Verificar la presencia de valores nulos con el operador IS NULL. SQL> SELECT ename, mgr 2 FROM emp 3 WHERE mgr IS NULL; ENAME MGR ---------- --------- KING

15 2-15 Copyright  Oracle Corporation, 1998. All rights reserved. Condiciones Lógicas Operador AND OR NOT Significado Devuelve TRUE si ambas condiciones son TRUE Devuelve TRUE si alguna de las condiciones es TRUE Devuelve TRUE si la siguiente condición es FALSE

16 2-16 Copyright  Oracle Corporation, 1998. All rights reserved. Uso del operador AND AND requiere que ambas condiciones sean TRUE SQL> SELECT empno, ename, job, sal 2 FROM emp 3 WHERE sal>=1100 4 AND job='CLERK'; EMPNO ENAME JOB SAL --------- ---------- --------- --------- 7876 ADAMS CLERK 1100 7934 MILLER CLERK 1300

17 2-17 Copyright  Oracle Corporation, 1998. All rights reserved. Uso del operador OR OR requiere que alguna condición sea TRUE SQL> SELECT empno, ename, job, sal 2 FROM emp 3 WHERE sal>=1100 4 OR job='CLERK'; EMPNO ENAME JOB SAL --------- ---------- --------- --------- 7839 KING PRESIDENT 5000 7698 BLAKE MANAGER 2850 7782 CLARK MANAGER 2450 7566 JONES MANAGER 2975 7654 MARTIN SALESMAN 1250... 14 rows selected.

18 2-18 Copyright  Oracle Corporation, 1998. All rights reserved. Uso del operador NOT SQL> SELECT ename, job 2 FROM emp 3 WHERE job NOT IN ('CLERK','MANAGER','ANALYST'); ENAME JOB ---------- --------- KING PRESIDENT MARTIN SALESMAN ALLEN SALESMAN TURNER SALESMAN WARD SALESMAN

19 2-19 Copyright  Oracle Corporation, 1998. All rights reserved. Reglas de prioridad Orden EvaluadoOperador 1Aritméticos 2Concatenación 3Comparación 4 IS [NOT] NULL, LIKE, [NOT] IN 5[NOT] BETWEEN 6NOT 7AND 8OR

20 2-20 Copyright  Oracle Corporation, 1998. All rights reserved. Reglas de prioridad ENAME JOB SAL ---------- --------- --------- KING PRESIDENT 5000 MARTIN SALESMAN 1250 ALLEN SALESMAN 1600 TURNER SALESMAN 1500 WARD SALESMAN 1250 ENAME JOB SAL ---------- --------- --------- KING PRESIDENT 5000 MARTIN SALESMAN 1250 ALLEN SALESMAN 1600 TURNER SALESMAN 1500 WARD SALESMAN 1250 SQL> SELECT ename, job, sal 2 FROM emp 3 WHERE job='SALESMAN' 4 OR job='PRESIDENT' 5 AND sal>1500;

21 2-21 Copyright  Oracle Corporation, 1998. All rights reserved. Reglas de prioridad ENAME JOB SAL ---------- --------- --------- KING PRESIDENT 5000 ALLEN SALESMAN 1600 ENAME JOB SAL ---------- --------- --------- KING PRESIDENT 5000 ALLEN SALESMAN 1600 Uso de paréntesis para forzar prioridad. SQL> SELECT ename, job, sal 2 FROM emp 3 WHERE (job='SALESMAN' 4 OR job='PRESIDENT') 5 AND sal>1500;

22 2-22 Copyright  Oracle Corporation, 1998. All rights reserved. Cláusula ORDER BY Ordenar filas con la cláusula ORDER BY. ASC: orden ascendente, por defecto.ASC: orden ascendente, por defecto. DESC: orden descendente.DESC: orden descendente. Cláusula ORDER BY va al final del SELECTCláusula ORDER BY va al final del SELECT Ordenar filas con la cláusula ORDER BY. ASC: orden ascendente, por defecto.ASC: orden ascendente, por defecto. DESC: orden descendente.DESC: orden descendente. Cláusula ORDER BY va al final del SELECTCláusula ORDER BY va al final del SELECT SQL> SELECT ename, job, deptno, hiredate 2 FROM emp 3 ORDER BY hiredate; ENAME JOB DEPTNO HIREDATE ---------- --------- --------- --------- SMITH CLERK 20 17-DEC-80 ALLEN SALESMAN 30 20-FEB-81... 14 rows selected.

23 2-23 Copyright  Oracle Corporation, 1998. All rights reserved. Clasificación en orden descendente SQL> SELECT ename, job, deptno, hiredate 2 FROM emp 3 ORDER BY hiredate DESC; ENAME JOB DEPTNO HIREDATE ---------- --------- --------- --------- ADAMS CLERK 20 12-JAN-83 SCOTT ANALYST 20 09-DEC-82 MILLER CLERK 10 23-JAN-82 JAMES CLERK 30 03-DEC-81 FORD ANALYST 20 03-DEC-81 KING PRESIDENT 10 17-NOV-81 MARTIN SALESMAN 30 28-SEP-81... 14 rows selected.

24 2-24 Copyright  Oracle Corporation, 1998. All rights reserved. Clasificación por alias de columna SQL> SELECT empno, ename, sal*12 annsal 2 FROM emp 3 ORDER BY annsal; EMPNO ENAME ANNSAL --------- ---------- --------- 7369 SMITH 9600 7900 JAMES 11400 7876 ADAMS 13200 7654 MARTIN 15000 7521 WARD 15000 7934 MILLER 15600 7844 TURNER 18000... 14 rows selected.

25 2-25 Copyright  Oracle Corporation, 1998. All rights reserved. Clasificación por múltiples columnas La lista de ORDER BY es el orden de clasificación Puede ordenar por una columna no seleccionada. SQL> SELECTename, deptno, sal 2 FROM emp 3 ORDER BY deptno, sal DESC; ENAME DEPTNO SAL ---------- --------- --------- KING 10 5000 CLARK 10 2450 MILLER 10 1300 FORD 20 3000... 14 rows selected.

26 2-26 Copyright  Oracle Corporation, 1998. All rights reserved. Resumen SELECT*|{[DISTINCT] column|expression [alias],...} FROM table [WHEREcondition(s)] [ORDER BY{column, expr, alias} [ASC|DESC]]; Uso de cláusula WHERE para restringir filas: – Uso de condiciones de comparación. – Uso de BETWEEN, IN, LIKE y NULL. – Operadores lógicos AND, OR y NOT. – Uso de la cláusula ORDER BY.

27 2-27 Copyright  Oracle Corporation, 1998. All rights reserved. Visión General de la Práctica Seleccionar datos y cambiar el orden de las filas mostradas. Seleccionar datos y cambiar el orden de las filas mostradas. Restringir las filas usando la cláusula WHERE. Restringir las filas usando la cláusula WHERE. Ordenación de filas usando la cláusula ORDER BY. Ordenación de filas usando la cláusula ORDER BY. Seleccionar datos y cambiar el orden de las filas mostradas. Seleccionar datos y cambiar el orden de las filas mostradas. Restringir las filas usando la cláusula WHERE. Restringir las filas usando la cláusula WHERE. Ordenación de filas usando la cláusula ORDER BY. Ordenación de filas usando la cláusula ORDER BY.


Descargar ppt "Copyright  Oracle Corporation, 1998. All rights reserved. 2 Restricción y ordenación de datos."

Presentaciones similares


Anuncios Google