Consultas SQL frecuentes para xestión de vendas, oficinas e empregados
Enviado por Programa Chuletas y clasificado en Diseño e Ingeniería
Escrito el en
español con un tamaño de 9,84 KB
Consultas SQL para xestión de clientes, oficinas e empregados
Documentación e corrección ortográfica/lingüística das consultas. Mantéñense todos os enunciados e consultas orixinais, corrixíndose a redacción e o formato para maior claridade.
3 - Listar numclie e nome de clientes (encabezado con código e nome de cliente)
Descrición: Listar numclie e nombre de clientes, pero que apareza no encabezado 'Código' e 'Nombre cliente'.
SELECT (numclie) AS 'Código', nombre AS 'Nombre cliente' FROM clientes4 - Cidade, rexión e superávit de cada oficina
Descrición: Listar a cidade, rexión e o superávit de cada oficina. O superávit é o volume das vendas que está por encima do obxectivo da oficina.
SELECT ciudad, region, ventas - objetivo AS 'superávit' FROM oficinas5 - Datos de cada produto: fabricante, produto, descrición e valor das existencias
SELECT idfab, idproducto, descripcion, precio * existencias AS 'Precio' FROM productos6 - Prezo unitario de cada pedido (redondeado a dous decimais)
Descrición: Listar para cada pedido o seu número, o código completo do artigo vendido e o prezo unitario ao que foi vendido. Despois redondéase con dous decimais.
SELECT numpedido, fab, producto, (importe / cant) AS Precio FROM pedidos
SELECT numpedido, fab, producto, ROUND(importe / cant, 2) AS Precio FROM pedidosSe se quere redondear o prezo con dous decimais:
SELECT numpedido, fab, producto, ROUND(importe / cant, 2) AS Precio FROM pedidos8 - Porcentaxe de cumprimento da cota por empregado
Descrición: De cada empregado cómpre saber o número, o nome e o porcentaxe de cumprimento da súa cota nas vendas.
SELECT numemp, nombre, (ventas / cuota) * 100 AS porcentaxe FROM empleados9 - Nome, mes e ano do contrato de cada vendedor
SELECT nombre, MONTH(contrato) AS 'mes de contrato', YEAR(contrato) AS 'ano do contrato'
FROM empleados10 - Código, nome, oficina e data curta do contrato
SELECT numemp, nombre, oficina, CONVERT(CHAR(10), contrato, 3) AS 'Data Contrato' FROM empleados11 - Día da semana do contrato para cada empregado
SELECT numemp, nombre, DATENAME(WEEKDAY, contrato) AS 'Día Contrato' FROM empleados12 - Código, nome e título (cambiar abreviatura 'dir' por 'Director')
SELECT numemp, nombre, REPLACE(titulo, 'dir ', 'Director ') AS [titulo] FROM empleados13 - Mostrar as ventas de cada oficina con formato textual
Descrición: Listar as ventas de cada oficina co formato tipo «12 tiene ventas de 73500,00».
SELECT oficina, 'tiene ventas de' AS [ ], ventas FROM oficinas14 - Mostrar todos os datos da táboa oficinas
SELECT * FROM oficinas15 - Mostrar todos os datos e o superávit de cada oficina
SELECT *, ventas - objetivo AS superavit FROM oficinas16 - Utilizar a táboa usuarios da BD 'biblioteca' e $IDENTITY
Instrución: Se é necesario, crear a base de datos en modo deseño. Mostrar o identificador auto-incremental e os nomes.
SELECT $IDENTITY, nombre, apellidos FROM biblioteca17 - Mostrar as ventas de cada oficina ordenadas por rexión e cidade
SELECT oficina, region, ciudad, ventas FROM oficinas ORDER BY region ASC, ciudad ASC18 - Listar oficinas ordenadas polas maiores vendas primeiro
SELECT oficina, region, ciudad, ventas FROM oficinas ORDER BY ventas DESC19 - Oficinas clasificadas por rendemento (descendente)
SELECT oficina, region, ciudad, ventas - objetivo FROM oficinas ORDER BY ventas - objetivo DESC20 - O mesmo con alias e agrupadas por rexión
SELECT oficina, region, ciudad, ventas - objetivo AS Superavit FROM oficinas
ORDER BY region ASC, Superavit DESC21 - Listado de produtos por fabricante
SELECT idfab, descripcion, idproducto, precio FROM productos ORDER BY idfab, descripcion22 - Números de empregados dos directores de oficina evitando repeticións
SELECT DISTINCT dir FROM oficinas23 - Números de empregados e rexión dos directores (sen repeticións)
SELECT DISTINCT dir, region FROM oficinas24 - Lista de cidades onde hai oficinas ordenadas
SELECT ciudad FROM oficinas ORDER BY ciudad ASC25 - As 5 oficinas con menos vendas (ou sen datos)
SELECT TOP 5 oficina, ciudad, ventas FROM oficinas ORDER BY ventas ASC26 - Incluir tamén as filas empatadas coa 5ª posición
SELECT TOP 5 WITH TIES oficina, ciudad, ventas FROM oficinas ORDER BY ventas ASC27 - Datos da metade das oficinas con maiores vendas
SELECT TOP 50 PERCENT * FROM oficinas ORDER BY ventas DESC28 - Código do empregado que fixo o pedido máis caro (con empates)
SELECT TOP 1 WITH TIES rep FROM pedidos ORDER BY importe DESC29 - As 3 mellores oficinas en vendas
SELECT TOP 3 oficina, ciudad, ventas FROM oficinas ORDER BY ventas DESC30 - As 2 peores oficinas en vendas
SELECT TOP 2 WITH TIES oficina, ciudad, ventas FROM oficinas ORDER BY ventas ASC31 - Mellor oficina en vendas tendo en conta o seu obxectivo
SELECT TOP 1 oficina, ciudad, ventas, objetivo FROM oficinas ORDER BY (ventas / objetivo) * 100 DESC
SELECT TOP 1 WITH TIES oficina, ciudad, ventas, objetivo FROM oficinas ORDER BY ventas / objetivo DESC32 - Listar os bos vendedores (superaron a súa cota)
SELECT numemp, nombre, ventas, cuota FROM empleados WHERE ventas > cuota33 - Vendedores contratados antes de 1988
SELECT numemp, nombre, CONVERT(CHAR(10), contrato, 3) AS 'contrato' FROM empleados
WHERE YEAR(contrato) < 198834 - Oficinas con vendas por debaixo do 80% do seu obxectivo
SELECT oficina, ciudad FROM oficinas WHERE ventas < (0.8 * objetivo)35 - Oficinas dirixidas polo empregado 108
SELECT dir, oficina, ciudad FROM oficinas WHERE dir = 10836 - Vendedores con ventas entre 20.000 e 100.000 €
SELECT numemp, nombre, ventas FROM empleados WHERE ventas BETWEEN 20000 AND 10000037 - Empregados que traballan nas oficinas 11, 20 e 22
SELECT oficina, numemp, nombre FROM empleados WHERE oficina IN (11, 20, 22)38 - Empregados que non teñen oficina
SELECT oficina, numemp, nombre FROM empleados WHERE oficina IS NULL39 - Vendedores asignados a algunha oficina
SELECT oficina, numemp, nombre FROM empleados WHERE oficina IS NOT NULL40 - Nome dos vendedores que comenzen por 'An'
SELECT numemp, nombre FROM empleados WHERE nombre LIKE 'An%'41 - Nome dos vendedores que rematen en 'z'
SELECT numemp, nombre FROM empleados WHERE nombre LIKE '%z'42 - Nomes dos vendedores que conteñan 'on'
SELECT numemp, nombre FROM empleados WHERE nombre LIKE '%on%'43 - Nome dos vendedores coa terceira letra 'a'
SELECT numemp, nombre FROM empleados WHERE nombre LIKE '__a%'44 - Nomes dos vendedores que comenzen por calquera letra de 'a' a 'd'
SELECT numemp, nombre FROM empleados WHERE nombre LIKE '[a-d]%'45 - Nomes dos vendedores que non comenzen por a, b, c nin d
SELECT numemp, nombre FROM empleados WHERE nombre LIKE '[^abcd]%'46 - Nomes compostos con guión baixo (exemplo de actualización e consulta)
Nota: Modificar datos da BD para que se cumpra no caso práctico.
UPDATE empleados SET nombre = 'Ana_Bustamante' WHERE nombre = 'Ana Bustamante'
SELECT numemp, nombre FROM empleados WHERE nombre LIKE '%[_]%'47 - Listar todos os nomes que comenzen por 'ju'
SELECT numemp, nombre FROM empleados WHERE nombre LIKE 'ju%'48 - Vendedores por debaixo da súa cota e con vendas inferiores a 30.000
SELECT numemp, nombre, cuota, ventas FROM empleados WHERE ventas < cuota AND ventas < 3000049 - Vendedores por debaixo da súa cota pero con vendas non inferiores a 15.000
SELECT numemp, nombre, cuota, ventas FROM empleados WHERE ventas < cuota AND ventas >= 1500050 - Oficinas non dirixidas polo empregado 108
SELECT oficina, ciudad, dir FROM oficinas WHERE NOT dir = 108;51 - Incluír tamén as oficinas sen director
SELECT oficina, ciudad, dir FROM oficinas WHERE NOT dir = 108 OR dir IS NULL52 - Oficinas que alcanzaron o seu obxectivo
Descrición: Mostrar oficinas cuxas vendas sexan maiores ou iguais ao seu obxectivo, ou que non teñan obxectivo mínimo e realizaran algunha venda (>0).
SELECT oficina, ciudad, objetivo, ventas FROM oficinas
WHERE ventas >= objetivo OR (objetivo IS NULL AND ventas > 0)Remarca: Mantivéronse os nomes de columnas tal como aparecen nas consultas (p.ex. ciudad, ventas, objetivo) para garantir compatibilidade coa estrutura das bases de datos orixinais.