En este post vamos a resolver algunas consultas propuestas en el motor de bases de datos de SQL Server y la base de datos AdventureWorks.
Si no tienes SQL Server mira aquí cómo instalarlo, y si no sabes importar la base de datos, mira aquí cómo hacerlo.
¿Quieres ejercicios resueltos con MySQL? mira este post.
Nota: si crees que puedes mejorar una consulta, deja la solución en los comentarios 😉
Mostrar a todos los empleados que se encuentran en el departamento de manufactura y de aseguramiento de la calidad.
Para hacer esta consulta hay que unir la tabla de empleados con la del historial de departamentos, pues queremos saber el puesto actual del empleado. Además, hay que unirla con la tabla de departamentos en donde el departamento sea QA o Production.
Solución en código:
Indicar el listado de los empleados del sexo masculino y que son solteros
Esta es un poco más fácil. El género masculino se toma de la columna Gender donde sea M y para saber si son solteros se usa el MaritalStatus en Single o S.
Empleados cuyo apellido sea con la letra “S”
Aquí usamos a LIKE con comodines y consultamos la tabla de empleados uniéndola con la tabla de personas.
Los empleados que son del estado de Florida
Para eso hacemos múltiples uniones, sobre todo por eso de la dirección de cada persona. Queda así:
Ahora la consulta dice:
La suma de las ventas hechas por cada empleado, y agrupadas por año
Tenemos que agrupar y usar la función year
que devuelve el año a partir de una fecha. La consulta completa queda así:
Simplemente consultamos las veces que se ha vendido y lo ordenamos, seleccionando el primer elemento.
La consulta queda así:
Lo mismo que antes, pero ahora ordenando por el número de veces que se vendió, de manera ascendente.
La consulta dice:
Listado de productos por número de ventas ordenando de mayor a menor
Hay que unir los detalles de las ventas con la tabla de productos. La solución es la siguiente:
Se deben unir los encabezados de las ventas, los detalles de las ventas, los territorios de ventas y los territorios.
La solución es la siguiente:
Todas las consultas quedan de la siguiente manera:
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…
El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…
Esta web usa cookies.
Ver comentarios
no tienes ejercicios con procedimiento almacenado
Hola. Por el momento todavía no
Hola parzibyte tengo este problema, agredeceria tu ayuda:
Seleccionar la lista de empleados (BusinessEntityID, FirstName, LastName, JobTitle, VacationHours) y su Edad (BirthDate) en años de las tablas Person y Employees, de los esquemas Person y HumanResources; que tengan más horas de vacaciones (VacationHours) que las del promedio, y ordenar las edades de forma descendente.
Saludos...
hola Genial tu aporte es lo que busco para practicar mucho, quisiera hacerte una consulta que talvez sea obvia o tal vez no, pues no lo sé, donde puedo descargar la base de datos con la que trabajaste ???
Existeee??? o es para tomar de ejemplo y aplicar en otras bd desde ya gracias por todo !
saludos!
Primero que todo muchas gracias por compartir el conocimiento @parzibyte, felicitaciones por eso. Mas que un comentario es una apreciación a la consulta del producto mas vendido, creo que la consulta debe estar compuesta por OrderQty debido a que representa la cantidad de productos solicitados en las ordenes y no el conteo del id de producto:
/*El producto más vendido*/
select top 1 pp.ProductID, pp.Name, sum(ss.OrderQty) as veces_vendido
from Production.Product pp
inner join Sales.SalesOrderDetail ss
on pp.ProductID = ss.ProductID
group by ss.ProductID, pp.Name, pp.ProductID
order by sum(ss.ss.OrderQty) desc;
Es correcto Camilo, hice la misma corrección para ese ejercicio.
Gracias por tu aporte. Me sirvió como practica.
El metodo de envio mas usado
ayudame con este ejercicio con la misma base de datos los otros que ayudaron demasiado gracias hermano
Gracias por los ejemplos, yo apenas introduciendome en el tema de sql server