Sunteți pe pagina 1din 4

Sentencias SQL

Posted on octubre 8, 2012 by agustinperatta


Aqu les dejo algunas sentencias comunes para que puedan practicar.

Mostrar el nmero de ventas de cada producto, ordenado de ms a menos


ventas.
SELECTNOMBRE,COUNT(PRODUCTO)ASCANTIDAD

FROMPRODUCTOSINNERJOIN

VENTAONPRODUCTO=CODIGO

GROUPBYNOMBRE

ORDERBYCOUNT(PRODUCTO)DESC

Obtener un informe completo de ventas, indicando el nombre del cajero que


realiz la venta, nombre y precios de los productos vendidos, y piso en el
que se encuentra la mquina registradora donde se realizo la venta.
SELECTCAJEROS.NOMBRE+''+CAJEROS.APELLIDOasCAJERO,
MAQUINAS_REGISTRADORAS.PISO,PRODUCTOS.NOMBREASPRODUCTO,
PRODUCTOS.PRECIO
FROMCAJEROSINNERJOIN
VENTAONCAJEROS.CODIGO=VENTA.CAJEROINNER
JOIN
MAQUINAS_REGISTRADORASONVENTA.MAQUINA=
MAQUINAS_REGISTRADORAS.CODIGOINNERJOIN
PRODUCTOSONVENTA.PRODUCTO=PRODUCTOS.CODIGO
ORDERBYPRECIODESC,PRODUCTOS.NOMBRE
Obtener las ventas totales realizadas en cada piso.
SELECTPISO,COUNT(PRODUCTO)ASCANTIDAD

FROMMAQUINAS_REGISTRADORASINNERJOIN

VENTAONPRODUCTO=CODIGO

GROUPBYPISO

ORDERBYPISOASC
Obtener el cdigo y nombre de cada empleado junto con el importe total de
sus ventas.
SELECTCAJEROS.NOMBRE,CAJEROS.APELLIDO,CAJEROS.CODIGO,
SUM(PRODUCTOS.PRECIO)ASSUMA

FROMCAJEROSINNERJOIN

VENTAONCAJEROS.CODIGO=VENTA.CAJEROINNER
JOIN

PRODUCTOSONVENTA.PRODUCTO=PRODUCTOS.CODIGO

GROUPBYCAJEROS.NOMBRE,CAJEROS.APELLIDO,CAJEROS.CODIGO

Obtener el cdigo y nombre de aquellos cajeros que hayan realizado ventas


en pisos cuyas ventas totales sean inferiores a los Gs 500.000
SELECTDISTINCTVENTA.CAJERO,CAJEROS.NOMBRE+''+CAJEROS.APELLIDO
ASCAJERO

FROMVENTAINNERJOIN

CAJEROSONVENTA.CAJERO=CAJEROS.CODIGO

WHERE(VENTA.MAQUINAIN

(SELECTCODIGO

FROMMAQUINAS_REGISTRADORASASM

WHERE(PISOIN

(SELECT
M.PISO

FROM
VENTAASVINNERJOIN

PRODUCTOSASPONV.PRODUCTO=P.CODIGOCROSSJOIN

MAQUINAS_REGISTRADORASASM

WHERE
(V.MAQUINA=M.CODIGO)

GROUPBY
M.PISO
HAVING
(SUM(M.PISO)<500.000)))))

Les dejo tambien las tablas.


CREATETABLEPRODUCTOS

CODIGOINTIDENTITY(1,1)PRIMARYKEY,

NOMBRENVARCHAR(60),

PRECIODECIMAL(12,0)

GO

CREATETABLECAJEROS

CODIGOINTIDENTITY(1,1)PRIMARYKEY,

NOMBRENVARCHAR(60)NOTNULL,

APELLIDONVARCHAR(60)NOTNULL

GO

CREATETABLEMAQUINAS_REGISTRADORAS

CODIGOINTIDENTITY(1,1)PRIMARYKEY,

PISOINTNOTNULL

GO

CREATETABLEVENTA

CAJEROINTREFERENCESCAJEROS,

MAQUINAINTREFERENCESMAQUINAS_REGISTRADORAS,
PRODUCTOINTREFERENCESPRODUCTOS,

CONSTRAINTPK_VENTAPRIMARYKEY(CAJERO,MAQUINA,PRODUCTO)

GO

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