Sei sulla pagina 1di 5

MODULO 7 Consulta combinando dos tablas /* Obtener el nombre de cada producto, su precio, su stock,el nombre de la categoria a la que pertenece,

excluyendo los suspendidos. */ select NombreProducto, PrecioUnidad, unidadesenexistencia, Nombrecategora from Productos, categoras where Categoras.idcategora= Productos.idcategora and suspendido=0 colocandole alias a las tablas y los campos select P.NombreProducto, P.PrecioUnidad, P.unidadesenexistencia, C.Nombrecategora from Productos as p, categoras as c where C.idcategora= P.idcategora and suspendido=0

/* Obtener el nombre de cada producto, su precio, su stock,el nombre de la categoria a la que pertenece, y el nombre del proveedor que nos sirve dicho producto. */ select p.NombreProducto, p.PrecioUnidad, p.unidadesenexistencia, c.Nombrecategora, pr.nombrecompaa from Productos as p, categoras as c, proveedores as pr where C.idcategora= P.idcategora and p.idproveedor= pr.idproveedor

/* Obtener el Codigo de pedido, el nombre del cliente y el nombre y apellidos del empleado, pero solo de aquellos pedidos que se realizaron durante el ao 1996 */ select p.idpedido, c.nombrecompaa, e.nombre + '' + e.apellidos as Empleado from Pedidos as p, clientes as c, Empleados as E where p.idcliente = c.idcliente and p.idEmpleado = e.idEmpleado and p.fechapedido >= '01-01-1996' and p.fechapedido <= '31-12-1996'

MUDULO 8 CLAUSULA JOIN /* Obtener el nombre del producto, y el nombre de la categoria. */ Ej # 1 select P.NombreProducto, C.NombreCategora from Productos as P, Categoras as C where P.IdCategora = C.Idcategora Ej # 2 select p.NombreProducto, c.NombreCategora from Productos as p join categoras as c on p.Idcategora= c.Idcategora TIPOS DE COMBINACION INNER JOIN: select p.NombreProducto, c.NombreCategora from Productos as p join categoras as c on p.Idcategora= c.Idcategora LEFT JOIN select p.NombreProducto, c.NombreCategora from Productos as p left join categoras as c on p.Idcategora= c.Idcategora RIGHT JOIN: select p.NombreProducto, c.NombreCategora from Productos as p left join categoras as c on p.Idcategora= c.Idcategora FULL JOIN: select p.NombreProducto, c.NombreCategora from Productos as p full join categoras as c on p.Idcategora= c.Idcategora

DEMOSTRACION COMBINAR DOS O MAS TABLAS /* Obtener el nombre de todos los producto, y el nombre de la categoria, y el nombre del nombre del proveedor. */ Ej: 1 select p.NombreProducto, c.NombreCategora, pr.NombreCompaa from Productos as p left join categoras as c on p.Idcategora= c.Idcategora join Proveedores as pr on p.IdProveedor = pr.IdProveedor /* Obtener el nombre de todos los producto, y el nombre de la categoria, y el nombre del nombre del proveedor a su vez que me muestre los que suspendido sean igual a cero. Ej:2 select p.NombreProducto, c.NombreCategora, pr.NombreCompaa, p.suspendido from Productos as p left join categoras as c on p.Idcategora= c.Idcategora left join Proveedores as pr on p.IdProveedor = pr.IdProveedor where suspendido=0 COMBINACIONES DE TIPO SELT JOIN SELT JOIN: Este tipo de combinaciones son llamadas a si por su caracteristica de que son realizadas en la misma tabla Ej: /* Obtener el nombre de los empleados y el nombre de su Jefe. */ select e.nombre as empleado, e1.nombre as Jefe from empleados as e join empleados as e1 on e.jefe= e1.idempleado

MODULO 9 ORDENAR LOS RESULTADOS CLAUSULA ORDER BY /* obtener el nmero de productos de cada categoria que nos sirve cada proveedor, discriminando los suspendidos y ordenarlos por proveedor. */ Ej:1 select pr.NombreCompaa as Proveedor, c.NombreCategora as categora, count(p.IdProducto) as "Num Productos" from Productos as p join categoras as c on p.Idcategora= c.Idcategora join Proveedores as pr on p.IdProveedor= pr.IdProveedor where suspendido= 0 group by pr.Nombrecompaa, c.NombreCategora

Ej:2 En este ejemplo se le agrega una linea mas con la clausula order by para ordenar los campos por Nombre del proveedor.

select pr.NombreCompaa as Proveedor, c.NombreCategora as categora, count(p.IdProducto) as "Num Productos" from Productos as p join categoras as c on p.Idcategora= c.Idcategora join Proveedores as pr on p.IdProveedor= pr.IdProveedor where suspendido= 0 group by pr.Nombrecompaa, c.NombreCategora order by pr.NombreCompaa

ORDENACION ACENDENTE Y DECENDENTE Ej:1 En el ejemplo se coloca al final la palabra desc para especificar que me muestre los datos de la A a la Z y ASC para que los muestre de la Z a la A de igual manera si no se le coloca nada el motor de SQl mostrara los datos por defaul de la A a Z select pr.NombreCompaa as Proveedor, c.NombreCategora as categora, count(p.IdProducto) as "Num Productos" from Productos as p join categoras as c on p.Idcategora= c.Idcategora join Proveedores as pr on p.IdProveedor= pr.IdProveedor where suspendido= 0 group by pr.Nombrecompaa, c.NombreCategora order by pr.NombreCompaa desc

Ej: 2 En el ejemplo se aade un campo llamado nombre categora para ordenar los datos por este otro criterio a la vez
select pr.NombreCompaa as Proveedor, c.NombreCategora as categora, count(p.IdProducto) as "Num Productos" from Productos as p join categoras as c on p.Idcategora= c.Idcategora join Proveedores as pr on p.IdProveedor= pr.IdProveedor where suspendido= 0 group by pr.Nombrecompaa, c.NombreCategora order by pr.NombreCompaa desc, C.Nombrecategora desc

Potrebbero piacerti anche