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 clientes

4 - 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 oficinas

5 - Datos de cada produto: fabricante, produto, descrición e valor das existencias

SELECT idfab, idproducto, descripcion, precio * existencias AS 'Precio' FROM productos

6 - 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 pedidos

Se se quere redondear o prezo con dous decimais:

SELECT numpedido, fab, producto, ROUND(importe / cant, 2) AS Precio FROM pedidos

8 - 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 empleados

9 - Nome, mes e ano do contrato de cada vendedor

SELECT nombre, MONTH(contrato) AS 'mes de contrato', YEAR(contrato) AS 'ano do contrato'
FROM empleados

10 - Código, nome, oficina e data curta do contrato

SELECT numemp, nombre, oficina, CONVERT(CHAR(10), contrato, 3) AS 'Data Contrato' FROM empleados

11 - Día da semana do contrato para cada empregado

SELECT numemp, nombre, DATENAME(WEEKDAY, contrato) AS 'Día Contrato' FROM empleados

12 - Código, nome e título (cambiar abreviatura 'dir' por 'Director')

SELECT numemp, nombre, REPLACE(titulo, 'dir ', 'Director ') AS [titulo] FROM empleados

13 - 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 oficinas

14 - Mostrar todos os datos da táboa oficinas

SELECT * FROM oficinas

15 - Mostrar todos os datos e o superávit de cada oficina

SELECT *, ventas - objetivo AS superavit FROM oficinas

16 - 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 biblioteca

17 - Mostrar as ventas de cada oficina ordenadas por rexión e cidade

SELECT oficina, region, ciudad, ventas FROM oficinas ORDER BY region ASC, ciudad ASC

18 - Listar oficinas ordenadas polas maiores vendas primeiro

SELECT oficina, region, ciudad, ventas FROM oficinas ORDER BY ventas DESC

19 - Oficinas clasificadas por rendemento (descendente)

SELECT oficina, region, ciudad, ventas - objetivo FROM oficinas ORDER BY ventas - objetivo DESC

20 - O mesmo con alias e agrupadas por rexión

SELECT oficina, region, ciudad, ventas - objetivo AS Superavit FROM oficinas
ORDER BY region ASC, Superavit DESC

21 - Listado de produtos por fabricante

SELECT idfab, descripcion, idproducto, precio FROM productos ORDER BY idfab, descripcion

22 - Números de empregados dos directores de oficina evitando repeticións

SELECT DISTINCT dir FROM oficinas

23 - Números de empregados e rexión dos directores (sen repeticións)

SELECT DISTINCT dir, region FROM oficinas

24 - Lista de cidades onde hai oficinas ordenadas

SELECT ciudad FROM oficinas ORDER BY ciudad ASC

25 - As 5 oficinas con menos vendas (ou sen datos)

SELECT TOP 5 oficina, ciudad, ventas FROM oficinas ORDER BY ventas ASC

26 - Incluir tamén as filas empatadas coa 5ª posición

SELECT TOP 5 WITH TIES oficina, ciudad, ventas FROM oficinas ORDER BY ventas ASC

27 - Datos da metade das oficinas con maiores vendas

SELECT TOP 50 PERCENT * FROM oficinas ORDER BY ventas DESC

28 - Código do empregado que fixo o pedido máis caro (con empates)

SELECT TOP 1 WITH TIES rep FROM pedidos ORDER BY importe DESC

29 - As 3 mellores oficinas en vendas

SELECT TOP 3 oficina, ciudad, ventas FROM oficinas ORDER BY ventas DESC

30 - As 2 peores oficinas en vendas

SELECT TOP 2 WITH TIES oficina, ciudad, ventas FROM oficinas ORDER BY ventas ASC

31 - 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 DESC

32 - Listar os bos vendedores (superaron a súa cota)

SELECT numemp, nombre, ventas, cuota FROM empleados WHERE ventas > cuota

33 - Vendedores contratados antes de 1988

SELECT numemp, nombre, CONVERT(CHAR(10), contrato, 3) AS 'contrato' FROM empleados
WHERE YEAR(contrato) < 1988

34 - 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 = 108

36 - Vendedores con ventas entre 20.000 e 100.000 €

SELECT numemp, nombre, ventas FROM empleados WHERE ventas BETWEEN 20000 AND 100000

37 - 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 NULL

39 - Vendedores asignados a algunha oficina

SELECT oficina, numemp, nombre FROM empleados WHERE oficina IS NOT NULL

40 - 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 < 30000

49 - 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 >= 15000

50 - 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 NULL

52 - 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.

Entradas relacionadas: