Sunteți pe pagina 1din 5

SELECT ciudad, regin, (ventas-

Lista la ciudad, regin y el superavit de cada


objetivo) AS superavit
oficina.
FROM oficinas

SELECT idfab, idproducto, descripcion, De cada producto obtiene su


(existencias * precio) AS valoracion fabricante, idproducto, su descripcin y el
FROM productos valor del inventario

Lista el nombre, mes y ao del contrato de


cada vendedor.
SELECT nombre, MONTH(contrato),
La funcin MONTH() devuelve el mes de una
YEAR(contrato)
fecha
FROM repventas
La funcin YEAR() devuelve el ao de una
fecha

SELECT oficina, 'tiene


Listar las ventas en cada oficina con el formato: 22
ventas de ', ventas
tiene ventas de 186,042.00 ptas
FROM oficinas

SELECT nombre, oficina, SELECT nombre, oficina,


contrato es contrato
FROM empleados equivalente a FROM empleados
ORDER BY oficina ORDER BY 2

1
SELECT nombre,
numemp, oficinarep Obtiene un listado alfabtico de los
FROM empleados empleados.
ORDER BY nombre

SELECT nombre,
Obtiene un listado de los empleados por
numemp, contrato
orden de antiguedad en la empresa (los de ms
FROM empleados
antiguedad aparecen primero).
ORDER BY contrato

SELECT nombre,
Obtiene un listado de los empleados
numemp,ventas
ordenados por volmen de ventas sacndo los
FROM empleados
de menores ventas primero.
ORDER BY ventas

Si queremos podemos alterar ese orden utilizando la


clusula DESC (DESCendente), en este caso el orden ser el inverso al ASC.

Ejemplos:

SELECT nombre,
Obtiene un listado de los empleados por
numemp, contrato
orden de antiguedad en la empresa empezando
FROM empleados
por los ms recientemente incorporados.
ORDER BY contrato DESC

SELECT nombre,
Obtiene un listado de los empleados
numemp,ventas
ordenados por volmen de ventas sacando
FROM empleados
primero los de mayores ventas.
ORDER BY ventas DESC

Tambin podemos ordenar por varias columnas, en este caso se indican las
columnas separadas por comas.
Se ordenan las filas por la primera columna de ordenacin, para un mismo valor
de la primera columna, se ordenan por la segunda columna, y as sucesivamente.

La clusula DESC o ASC se puede indicar para cada columna y as utilizar una
ordenacin distinta para cada columna. Por ejemplo ascendente por la primera
columna y dentro de la primera columna, descendente por la segunda columna.

Ejemplos:

SELECT region, ciudad,


Muestra las ventas de cada oficina , 2
En este tema vamos a estudiar las consultas multitabla llamadas as porque
estn basadas en ms de una tabla.

El SQL de Microsoft Jet 4.x soporta dos grupos de consultas multitabla:

- la unin de tablas

- la composicin de tablas

La unin de tablas

Esta operacin se utiliza cuando tenemos dos tablas con las mismas columnas y
queremos obtener una nueva tabla con las filas de la primera y las filas de la segunda. En
este caso la tabla resultante tiene las mismas columnas que la primera tabla (que son las
mismas que las de la segunda tabla).

Por ejemplo tenemos una tabla de libros nuevos y una tabla de libros antiguos y queremos
una lista con todos los libros que tenemos. En este caso las dos tablas tienen las mismas
columnas, lo nico que vara son las filas, adems queremos obtener una lista de libros (las
columnas de una de las tablas) con las filas que estn tanto en libros nuevos como las que
estn en libros antiguos, en este caso utilizaremos este tipo de operacin.

Cuando hablamos de tablas pueden ser tablas reales almacenadas en la base de


datos o tablas lgicas (resultados de una consulta), esto nos permite utilizar la operacin con
ms frecuencia ya que pocas veces tenemos en una base de datos tablas idnticas en cuanto
a columnas. El resultado es siempre una tabla lgica.

Por ejemplo queremos en un slo listado los productos cuyas existencias sean iguales a
cero y tambin los productos que aparecen en pedidos del ao 90. En este caso tenemos unos
productos en la tabla de productos y los otros en la tabla de pedidos, las tablas no tienen las
mismas columnas no se puede hacer una union de ellas pero lo que interesa realmente es el
identificador del producto (idfab,idproducto), luego por una parte sacamos los cdigos de los
productos con existencias cero (con una consulta), por otra parte los cdigos de los productos
que aparecen en pedidos del ao 90 (con otra consulta), y luego unimos estas dos tablas
lgicas.

El operador que permite realizar esta operacin es el operador UNION.

3
La composicin de tablas

La composicin de tablas consiste en concatenar filas de una tabla con filas de otra. En
este caso obtenemos una tabla con las columnas de la primera tabla unidas a
las columnas de la segunda tabla, y las filas de la tabla resultante
son concatenaciones de filas de la primera tabla con filas de la segunda tabla.

El ejemplo anterior quedara de la siguiente forma con la composicin:

A diferencia de la unin la composicin permite obtener una fila con datos de las dos tablas,
esto es muy til cuando queremos visualizar filas cuyos datos se encuentran en dos tablas.

Por ejemplo queremos listar los pedidos con el nombre del representante que ha hecho el
pedido, pues los datos del pedido los tenemos en la tabla de pedidos pero el nombre del
representante est en la tabla de empleados y adems queremos que aparezcan en la misma
lnea; en este caso necesitamos componer las dos tablas (Nota: en el ejemplo expuesto a
continuacin, hemos seleccionado las filas que nos interesan).

4
Existen distintos tipos de composicin, aprenderemos a utilizarlos todos y a elegir el tipo
ms apropiado a cada caso.

Los tipos de composicin de tablas son:

. El producto cartesiano

. El INNER JOIN

. El LEFT / RIGHT JOIN

S-ar putea să vă placă și