Informatica

Páginas: 7 (1728 palabras) Publicado: 26 de julio de 2011
Considere el siguiente esquema:
CLIENTE{CLI_ID, CLI_NOMB, CLI_RENTA_ANUAL}
EMBARQUE{EMB_ID, EMB_ID_CLI, EMB_PESO, EMB_ID_CAMION, EMB_DESTINO}
Clave Foránea: EMB_CLI_ID referencia a CLI_ID en CLIENTE
Clave Foránea: EMB_DESTINO referencia a CIU_NOMBRE en CIUDAD
Clave Foránea: EMB_ID_CAMION referencia a CAM_ID en CAMION
CAMION{CAM_ID, CAM_NOMBRE_CHOFER}
CIUDAD{CIU_NOMBRE, CIU_POBLACION}¿Cómo se llaman los clientes que han enviado paquetes a Sioux City?
SELECT CLI_NOMBRE
FROM CLIENTE, EMBARQUE
WHERE CLI_ID = EMB_ID_CLI
  AND EMB_DESTINO = 'Sioux'
¿Quiénes son los choferes que han conducido embarques de clientes que tienen renta anual sobre los $20 millones a ciudades con población por encima del millón?
SELECT CAM_NOMBRE_CHOFER
FROM CLIENTE, EMBARQUE, CAMION, CIUDAD
WHERECLI_RENTA_ANUAL > 20000000
  CIU_POBLACION > 1000000
  AND CLI_ID = EMB_ID_CLI
  AND CAM_ID = EMB_ID_CAMION
  AND CIU_NOMBRE = EMB_DESTINO
Indique el nombre y la renta anual de los clientes que han enviado embarques que pesan más de 100 libras
SELECT CLI_NOMBRE, CLI_RENTA_ANUAL
FROM CLIENTE
WHERE CLI_ID IN (
  SELECT EMB_ID_CLI
  FROM EMBARQUE
  WHERE EMB_PESO > 100
)
Indique los choferesque han transportado embarques a cada una de las ciudades.
Esto es equivalente a determinar cuáles son los choferes tales que NO hay una ciudad a la cual NO hayan llevado un embarque.
SELECT C1.CAM_NOMBRE_CHOFER
FROM CAMION C1
WHERE NOT EXISTS (
  SELECT CIU_NOMBRE
  FROM CIUDADES
  WHERE NOT EXISTS (
    SELECT *
    FROM EMBARQUE, CAMION C2
    WHERE EMB_DESTINO = CIU_NOMBRE
      ANDEMB_ID_CAMION = CAM_ID
      AND C2.CAM_NOMBRE_CHOFER = C1.CAM_NOMBRE_CHOFER
  )
)
De una lista de los clientes que hacen todos sus envíos a una sola ciudad. (Note que la ciudad no tiene que ser la misma para cada cliente)
SELECT CLI_NOMB
FROM CLIENTE
WHERE 1 IN (
    SELECT COUNT(DISTINC EMB_DESTINO)
    FROM EMBARQUE
    WHERE EMB_ID_CLIENTE = CLI_ID
  )
Para cada ciudad que hayarecibido al menos diez paquetes, ¿cuál es el peso medio de los paquetes enviado a dicha ciudad?
SELECT EMB_DESTINO, AVG(EMB_PESO)
FROM EMBARQUE
GROUP BY EMB_DESTINO
HAVING COUNT(*) > 10
 
PIVOT
Consultas de Referencias Cruzadas (Access)
Una consulta de referencias cruzadas es aquella que nos permite visualizar los datos en filas y en columnas, estilo tabla, por ejemplo:
|Producto / Año|1996 |1997 |
|Pantalones |1.250 |3.000 |
|Camisas |8.560 |1.253 |
|Zapatos |4.369 |2.563 |

Si tenemos una tabla de productos y otra tabla de pedidos, podemos visualizar en total de productos pedidos por año para un artículo determinado, tal y como se visualiza en la tabla anterior. La sintaxis paraeste tipo de consulta es la siguiente:
TRANSFORM función agregada instrucción select PIVOT campo pivot
[IN (valor1[, valor2[, ...]])]
En donde:
función agregada
Es una función SQL agregada que opera sobre los datos seleccionados.
instrucción select
Es una instrucción SELECT.
campo pivot
Es el campo o expresión que desea utilizar para crear las cabeceras de la columna enel resultado de la consulta.
valor1, valor2
Son valores fijos utilizados para crear las cabeceras de la columna.
Para resumir datos utilizando una consulta de referencia cruzada, se seleccionan los valores de los campos o expresiones especificadas como cabeceras de columnas de tal forma que pueden verse los datos en un formato más compacto que con una consulta de selección.
TRANSFORM esopcional pero si se incluye es la primera instrucción de una cadena SQL. Precede a la instrucción SELECT que especifica los campos utilizados como encabezados de fila y una cláusula GROUP BY que especifica el agrupamiento de las filas. Opcionalmente puede incluir otras cláusulas como por ejemplo WHERE, que especifica una selección adicional o un criterio de ordenación.
Los valores devueltos...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informática
  • Informatica
  • Informatica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS