Lenguaje de manipulación de datos

Solo disponible en BuenasTareas
  • Páginas : 24 (5800 palabras )
  • Descarga(s) : 10
  • Publicado : 13 de mayo de 2010
Leer documento completo
Vista previa del texto
SQL (Server Query Language) LMD (Lenguaje de Manipulación de Datos)
SELECT SELECT [DISTINCT] | * FROM [WHERE ] EJ: Visualizar todos los vuelos que tengan como origen o destino Cáceres. SELECT * FROM VUELOS WHERE ORIGEN='CACERES' OR DESTINO='CACERES' EJ: Visualizar todos los vuelos que tengan como origen Madrid o Londres y como destino Londres o Madrid. SELECT * FROM VUELOS WHERE(ORIGEN='MADRID' AND DESTINO='LONDRES') OR (ORIGEN='LONDRES' AND DESTINO='MADRID') Claúsula IN Expresa la pertenencia del valor de una columna a un determinado conjunto de valores. EJ: Seleccionar aquellos vuelos que tengan como origen Madrid, Barcelona o Sevilla. SELECT * FROM VUELOS WHERE ORIGEN IN ('MADRID','BARCELONA','SEVILLA') ó también SELECT * FROM VUELOS WHERE ORIGEN='MADRID' OR ORIGEN='BARCELONA' ORORIGEN='SEVILLA' EJ: Visualizar todos los vuelos existentes excepto aquellos que llegan a Londres o a Copenhague. SELECT * FROM VUELOS WHERE DESTINO NOT IN ('LONDRES','COPENHAGUE') Claúsula BETWEEN Sirve para establecer o expresar un rango de valores. Obedece a la siguiente sintaxis: BETWEEN valor1 AND valor2 El rango será [valor1, valor2], extremos incluidos. EJ: Recuperar todos los vuelos quesalgan entre las 6 y las 12 de la mañana. SELECT *

FROM VUELOS WHERE HORA_SALIDA BETWEEN '06.00.00' AND '12.00.00' ó también SELECT * FROM VUELOS WHERE HORA_SALIDA >= '06.00.00' AND HORA_SALIDA ENVERGADURA*1.10 Funciones de columna Son funciones que operan con todas las filas que cumplen la condición expuesta en la claúsula WHERE. Su resultado es un único valor. Sintaxis: 1º) ([DISTINCT] ) 2º)(), donde es una expresión aritmética en la cual debe participar, al menos, una columna. 3º) COUNT(*) Funciones : MIN: Calcula el valor mínimo de una columna. MAX: Calcula el valor máximo de una columna. AVG: Calcula la media aritmética de una columna. SUM: Calcula la suma de todos los campos de una columna. COUNT: Cuenta el nº de filas de una columna. A 3 2 3 4 B 5 8 7 3

COUNT(A)=COUNT(B)COUNT(A)=4, COUNT(B)=4 El COUNT de dos columnas de una misma tabla es igual. COUNT(*) sirve para obtener el nº de filas.

EJ: Seleccionar los valores mínimo y máximo de la columna que almacena las velocidades de crucero. SELECT MIN(VELO_CRUC), MAX(VELO_CRUC) FROM AVIONES EJ: Averiguar a que hora parte el primer vuelo hacia Madrid. SELECT MIN (HORA_SALIDA) FROM VUELOS WHERE DESTINO='MADRID' Reglaque cumplen las funciones de columna La función de columna sólo podrá especificarse detrás de la particula SELECT o en la claúsula HAVING, pero nunca dentro de la claúsula WHERE. EJ: Se desea saber cuál es el vuelo que tiene la mínima hora de salida. SELECT * FROM VUELOS WHERE HORA_SALIDA=(SELECT MIN(HORA_SALIDA) FROM VUELOS) Claúsula GROUP BY-HAVING Sirve para dividir una tabla en grupos defilas que comparten características comunes. La sintaxis es: SELECT , FROM [WHERE ] [GROUP BY ] [HAVING ] EJ: Efectúese una SELECT que visualice el mínimo valor de hora de salida para cada uno de los diferentes destinos. SELECT DISTINCT DESTINO FROM VUELOS SELECT MIN(HORA_SALIDA) FROM VUELOS WHERE DESTINO LIKE '%' A continuación se muestra un ejemplo de lo que no se debe hacer: SELECTMIN(HORA_SALIDA) FROM VUELOS WHERE DESTINO IN (SELECT DISTINCT DESTINO FROM VUELOS) Sentencia GROUP BY: SELECT DESTINO, MIN(HORA_SALIDA) FROM VUELOS GROUP BY DESTINO

Tabla VUELOS  Tabla auxiliar 
WHERE GROUP BY DESTINO

Tabla x 'MADRID' Tabla y 'BARCELONA' Tabla z 'SEVILLA'

GROUP BY crea una serie de subtablas compuestas por filas con el mismo valor para la columna de agrupamiento (en este ejemplola columna DESTINO). Se aplicarán a continuación funciones de columna sobre cada subtabla de forma independiente. MADRID, x BARCELONA, y SEVILLA, z No se puede poner en GROUP BY un campo que no se haya incluido en la sentencia SELECT. EJ: Obtener el origen del vuelo para cada uno de los vuelos que tienen la mínima hora de salida para cada uno de los destinos.

EJ: Obtener el número de vuelos...
tracking img