• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Tema 2 My Sql. RestriccióN Y ClasificacióN De Los Datos
 

Tema 2 My Sql. RestriccióN Y ClasificacióN De Los Datos

on

  • 2,221 views

hhghhg

hhghhg

Statistics

Views

Total Views
2,221
Views on SlideShare
2,221
Embed Views
0

Actions

Likes
0
Downloads
38
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Tema 2 My Sql. RestriccióN Y ClasificacióN De Los Datos Tema 2 My Sql. RestriccióN Y ClasificacióN De Los Datos Document Transcript

    • ETPC. Ensenyaments Professionals CFGS Híbrid DAI/ASI-1 Crèdit 7. Sistemes Gestors de BDs Relacionals Professora: Mª Paz Olañeta TEMA 2: RESTRICCIÓN Y CLASIFICACIÓN DE LOS DATOS • LIMITAR FILAS POR MEDIO DE SELECCIONES - Podemos restringir las filas recuperadas mediante la cláusula WHERE. - La cláusula WHERE se escribe después de la cláusula FROM. - Sintaxis: WHERE <condición de filtrado> La condición consta de tres elementos: - Nombre de columna - Operador de comparación - Nombre de columna, constante o lista de valores. - WHERE -> restringe la consulta a las filas que cumplen la condición. - Ejemplo 1. • USO DE LA CLÁUSULA WHERE - Las cadenas de caracteres no son "case sensitive", es decir no son sensibles a mayúsculas / minúsculas. Ver ejemplos 2 y 3. - Los valores de tipo fecha son sensibles al formato. - Las cadenas de caracteres y las fechas se encierran entre comillas simples o dobles. Ver ejemplos 2 y 4. - MySql almacena las fechas en formato numérico interno, representado por siglo, año, mes, día, hora, minutos y segundos. La fecha por defecto se visualiza como yyyy-mm-dd. - En el tema 3 veremos como cambiar el formato de la fecha. • OPERADORES DE COMPARACIÓN - Los operadores de comparación se utilizan en las condiciones que comparan una expresión con otra. Se utilizan en la cláusula WHERE con el siguiente formato: ...WHERE <expresión> <operador> <valor> - Operadores y su significado: OPERADOR SIGNIFICADO = Igual a > Mayor que >= Mayor o igual que < Menor que <= Menor o igual que <> Distinto que - Ejemplos: del 5 al 13 02/07/09 Pàgina 1 de 12
    • ETPC. Ensenyaments Professionals CFGS Híbrid DAI/ASI-1 Crèdit 7. Sistemes Gestors de BDs Relacionals Professora: Mª Paz Olañeta • OTROS OPERADORES DE COMPARACIÓN - Otros operadores de comparación y su significado: OPERADOR SIGNIFICADO BETWEEN... AND ... Entre dos valores (ambos inclusive) IN Lista de valores LIKE Se ajusta a un patrón IS NULL Es un valor nulo - Uso del operador BETWEEN … AND … - Sirve para visualizar las filas que se encuentran dentro de un rango de valores. - Sintaxis: BETWEEN <límite_inferior> AND <límite superior> - Ver ejemplo 14 - Los ejemplos 14 y 15 son equivalentes. - Uso del operador IN - Sirve para evaluar los valores dentro de una lista especificada. - Sintaxis: IN (lista de valores). - Si se usan caracteres o fechas en la lista, se deben encerrar entre comillas simples. - El operador IN puede utilizarse con cualquier tipo de datos. - Ver ejemplos 16 y 18 - Los ejemplos 16 y 17 son equivalentes. Lo mismo pasa con los ejemplos 18 y 19. - Uso del operador LIKE - Sirve para ejecutar búsquedas en cadenas de caracteres que incluyan comodines. - Las condiciones de búsqueda pueden contener caracteres o números. Además se pueden utilizar dos símbolos para construir la búsqueda: - % representa cualquier secuencia de cero o más caracteres - _ representa un solo carácter. - Los símbolos % y _ pueden ser utilizados en cualquier combinación con caracteres literales. Ver ejemplos 20, 21 y 22. - Se pueden combinar los símbolos % y _ en el patrón de búsqueda. Ver ejemplos 23, 24 y 25. 02/07/09 Pàgina 2 de 12
    • ETPC. Ensenyaments Professionals CFGS Híbrid DAI/ASI-1 Crèdit 7. Sistemes Gestors de BDs Relacionals Professora: Mª Paz Olañeta - Uso del operador IS NULL - Sirve para verificar la presencia de valores nulos. - Un valor nulo significa que el valor es inaccesible, sin valor, desconocido o inaplicable. Por tanto no se puede comparar con el operador =. - Ver ejemplo 27. • OPERADORES LÓGICOS - Un operador lógico combina el resultado de dos condiciones para producir un único resultado o para invertir el resultado de una condición simple. - Podemos utilizar varias condiciones en la cláusula WHERE utilizando los operadores AND y OR. OPERADOR SIGNIFICADO AND Devuelve TRUE si ambas condiciones son TRUE OR Devuelve TRUE si alguna de las condiciones es TRUE NOT Devuelve TRUE si la siguiente condición es FALSE - Uso del operador AND - Requiere que ambas condiciones sean TRUE. - La siguiente tabla muestra el resultado de combinar dos expresiones con el operador AND: AND VERDADERO FALSO NULL VERDADERO VERDADERO FALSO NULL FALSO FALSO FALSO FALSO NULL NULL FALSO NULL - Ver ejemplo 28 - Uso del operador OR - Requiere que alguna condición sea TRUE. - La siguiente tabla muestra el resultado de combinar dos expresiones con el operador OR: OR VERDADERO FALSO NULL VERDADERO VERDADERO VERDADERO VERDADERO FALSO VERDADERO FALSO NULL NULL VERDADERO NULL NULL - Ver ejemplo 29 - Uso del operador NOT - Invierte el resultado de una condición simple. 02/07/09 Pàgina 3 de 12
    • ETPC. Ensenyaments Professionals CFGS Híbrid DAI/ASI-1 Crèdit 7. Sistemes Gestors de BDs Relacionals Professora: Mª Paz Olañeta - El operador NOT también puede utilizarse con otros operadores SQL como BETWEEN, LIKE y IS NULL. - La siguiente tabla muestra el resultado de aplicar el operador NOT a una condición: NOT VERDADERO FALSO NULL FALSO VERDADERO NULL - Ver ejemplos 30, 31, 32 y 33. - Reglas de precedencia - El NOT tiene preferencia sobre el AND y el OR. El AND tiene preferencia sobre el OR: ORDEN OPERADOR evaluado 1 Todos los operadores de comparación 2 NOT 3 AND 4 OR - Ver ejemplo 34. - Utilizar paréntesis para modificar las reglas de precedencia. Comparar ejemplo 35 y ejemplo 36. • CLASIFICACIÓN DE LAS FILAS - La cláusula ORDER BY - Para ordenar las filas que devuelve una consulta. - La cláusula ORDER BY va siempre al final del SELECT. - ASC orden ascendente; constituye la opción por defecto DESC orden descendente - Para ordenar, se puede especificar una columna, una expresión, un alias o un marcador numérico de posición. - Clasificación en orden ascendente (ASC) o descendente (DESC) - El orden por defecto es el ascendente. - Orden ascendente: - valores numéricos: desde el valor más bajo hasta el más alto. Ver ejemplo 38. - valor caracteres: en orden alfabético. Ver ejemplo 39. - valores fecha: desde la fecha más antigua a la más actual. Ver ejemplo 40. - valores nulos: los últimos en las secuencias ascendentes (ASC) y los primeros en las 02/07/09 Pàgina 4 de 12
    • ETPC. Ensenyaments Professionals CFGS Híbrid DAI/ASI-1 Crèdit 7. Sistemes Gestors de BDs Relacionals Professora: Mª Paz Olañeta secuencias descendentes(DESC). Ver ejemplos 48 y 49. - Orden Descendente: especificar la palabra clave DESC después del nombre de columna en la cláusula ORDER BY. Ver ejemplos 41, 42 y 43. - Clasificación por alias de columna - Podemos utilizar un alias de columna en la cláusula ORDER BY. - Ver ejemplo 50. - Clasificación por marcador numérico de columna - Podemos utilizar un marcador numérico de columna (o más de uno) en la cláusula ORDER BY. - Ver ejemplo 26. - Clasificación por múltiples columnas - Podemos ordenar el resultado de una consulta por más de una columna. El límite es la cantidad de columnas de la tabla. - Cuando se ordena por una o más columnas, éstas pueden o no aparecer en la cláusula SELECT. - Ver ejemplos 44, 45, 46 y 47. • RESUMEN SELECT [DISTINCT] {*, nom_columna [alias], …} FROM nom_tabla [WHERE condicion(es)] [ORDER BY {nom_columna, expresión, alias}] [ASC| DESC]; 02/07/09 Pàgina 5 de 12
    • ETPC. Ensenyaments Professionals CFGS Híbrid DAI/ASI-1 Crèdit 7. Sistemes Gestors de BDs Relacionals Professora: Mª Paz Olañeta EJEMPLOS 1. SELECT * FROM emp WHERE deptno=10; 2. SELECT ename, deptno FROM emp WHERE job=’CLERK’; cadenas de caracteres entre comillas simples 3. SELECT ename, deptno FROM emp WHERE job=”clerk”; 4. SELECT empno, ename, deptno FROM emp WHERE hiredate=’1981-2-20’; fechas entre comillas simples 5. SELECT * FROM emp WHERE ename ='SMITH'; 6. SELECT * FROM emp WHERE sal >1350; 7. SELECT * FROM emp WHERE sal >=1350; 8. SELECT * FROM emp WHERE sal <1350; 9. SELECT * FROM emp WHERE sal <=1350; 10.SELECT ename, job, sal FROM emp WHERE job <>’SALESMAN’; 02/07/09 Pàgina 6 de 12
    • ETPC. Ensenyaments Professionals CFGS Híbrid DAI/ASI-1 Crèdit 7. Sistemes Gestors de BDs Relacionals Professora: Mª Paz Olañeta 11.SELECT ename, hiredate FROM emp WHERE hiredate > ‘1982-12-31’; ---> respecto al año de la fecha, acepta con 2 dígitos, pero mejor indicar los 4. 12.SELECT ename, hiredate FROM emp WHERE hiredate <= ‘1980-12-31’; 13.SELECT ename, sal, comm FROM emp WHERE sal<=comm; se comparan dos columnas 14.SELECT ename, job, sal, comm FROM emp WHERE sal BETWEEN 1000 AND 1400; 15.SELECT ename, job, sal, comm FROM emp WHERE sal >=1000 AND sal <=1400; condición del where equivalente a la del ejemplo anterior 16.SELECT empno, ename, mgr FROM emp WHERE mgr IN (7902, 7566, 7788); 17.SELECT empno, ename, mgr FROM emp WHERE mgr =7902 OR mgr=7566 OR mgr=7788; condición del where equivalente a la del ejemplo anterior 18.SELECT empno, ename, job FROM emp WHERE job IN (‘MANAGER’, ‘ANALYST’); 19.SELECT empno, ename, job FROM emp 02/07/09 Pàgina 7 de 12
    • ETPC. Ensenyaments Professionals CFGS Híbrid DAI/ASI-1 Crèdit 7. Sistemes Gestors de BDs Relacionals Professora: Mª Paz Olañeta WHERE job =‘MANAGER OR job=‘ANALYST’; condición del where equivalente a la del ejemplo anterior 20.SELECT empno, ename FROM emp WHERE ename LIKE ‘S%’; el nombre debe empezar por la letra S 21.SELECT empno, ename FROM emp WHERE ename LIKE ‘%A’; el nombre debe acabar por la letra A 22.SELECT empno, ename FROM emp WHERE ename LIKE ‘%A%’; el nombre debe contener una A 23.SELECT empno, ename FROM emp WHERE ename LIKE ‘%A%A%’; el nombre debe contener dos A's 24.SELECT empno, ename FROM emp WHERE ename LIKE ‘_A%’; el nombre debe contener una A en la segunda posición 25.SELECT empno, ename FROM emp WHERE ename LIKE ‘%T_’; el nombre debe tener una T como penúltimo carácter 26.SELECT empno, ename, hiredate, job FROM emp WHERE hiredate> ‘1981-3-1’ order by 3,4; 27.SELECT ename , mgr FROM emp WHERE mgr IS NULL; WHERE mgr = NULL; incorrecto 28.SELECT empno, ename , job, sal FROM emp 02/07/09 Pàgina 8 de 12
    • ETPC. Ensenyaments Professionals CFGS Híbrid DAI/ASI-1 Crèdit 7. Sistemes Gestors de BDs Relacionals Professora: Mª Paz Olañeta WHERE sal >=1100 AND job=’CLERK’; 29.SELECT empno, ename , job, sal FROM emp WHERE sal >=1100 OR job=’CLERK’; 30.SELECT ename, job FROM emp WHERE job NOT IN (‘MANAGER’, ‘ANALYST’, ‘CLERK’); 31.SELECT ename, job, sal FROM emp WHERE sal NOT BETWEEN 1000 AND 1500; 32.SELECT ename, job FROM emp WHERE ename NOT LIKE '%A%'; 33.SELECT ename, job, comm FROM emp WHERE comm IS NOT NULL; 34.SELECT ename, job FROM emp WHERE job <>‘MANAGER AND job<>‘ANALYST’ AND job<> ‘CLERK’; condición del where equivalente a la del ejemplo 30 35.SELECT ename, job, sal FROM emp WHERE sal < 1000 OR sal > 1500; condición del where equivalente a la del ejemplo 31 ¡Ojo!, no olvidar de repetir la columna 36.SELECT ename, job, sal FROM emp WHERE job ='SALESMAN' OR job ='PRESIDENT' AND sal >1500; segundo primero 37.SELECT ename, job, sal 02/07/09 Pàgina 9 de 12
    • ETPC. Ensenyaments Professionals CFGS Híbrid DAI/ASI-1 Crèdit 7. Sistemes Gestors de BDs Relacionals Professora: Mª Paz Olañeta FROM emp WHERE (job ='SALESMAN' OR job ='PRESIDENT' ) AND sal >1500; primero segundo 38.SELECT ename, job, sal, comm FROM emp WHERE deptno=10 ORDER BY sal; 39.SELECT ename, job, sal, comm FROM emp WHERE deptno=10 ORDER BY job; 40.SELECT ename, hiredate FROM emp WHERE deptno=10 ORDER BY hiredate; 41.SELECT ename, job, sal, comm FROM emp WHERE deptno=10 ORDER BY sal DESC; 42.SELECT ename, job, sal, comm FROM emp WHERE deptno=10 ORDER BY job DESC; 43.SELECT ename, hiredate FROM emp WHERE deptno=10 ORDER BY hiredate DESC; 44.SELECT ename, comm FROM emp WHERE deptno=10 ORDER BY job, sal ; 45.SELECT ename, job, sal, comm FROM emp 02/07/09 Pàgina 10 de 12
    • ETPC. Ensenyaments Professionals CFGS Híbrid DAI/ASI-1 Crèdit 7. Sistemes Gestors de BDs Relacionals Professora: Mª Paz Olañeta WHERE deptno=10 ORDER BY job, sal DESC; 46.SELECT ename, job, sal, comm FROM emp WHERE deptno=10 ORDER BY job DESC , sal; 47.SELECT ename, job, sal, comm FROM emp WHERE deptno=10 ORDER BY job DESC, sal DESC; 48.SELECT ename, job, sal, comm FROM emp WHERE deptno=10 ORDER BY comm; 49.SELECT ename, job, sal, comm FROM emp WHERE deptno=10 ORDER BY comm DESC; 50.SELECT empno, ename, sal*12 AS sal_anual alias de columna FROM emp WHERE deptno=10 ORDER BY sal_anual; alias de columna 51. Supón que tenemos la consulta: SELECT ename, job, sal FROM emp ORDER BY ....; Si las filas que contiene la tabla EMP son las siguientes: 02/07/09 Pàgina 11 de 12
    • ETPC. Ensenyaments Professionals CFGS Híbrid DAI/ASI-1 Crèdit 7. Sistemes Gestors de BDs Relacionals Professora: Mª Paz Olañeta EMP ename job ... sal Pepito Clerk ... 1000 Joana Clerk ... 1500 Andrea Clerk ... 2100 Joaquim Manager ... 3000 Anna Manager ... 3200 Indica en cada caso (a, b, c o d), cuál será el resultado de la consulta a) ORDER BY job, sal; b) ORDER BY job, sal DESC; c) ORDER BY job DESC, sal; d) ORDER BY job DESC , sal DESC; 02/07/09 Pàgina 12 de 12