ULADECH – CATÓLICA PRACTICAS PROFESIONALES II

Anuncio
ULADECH – CATÓLICA
PRACTICAS PROFESIONALES II
CONSULTAS SIMPLES
1.
Obtener una lista de todos los productos indicando para cada uno su idfab,
idproducto, descripción, precio y precio con I.V.A. incluido (es el precio anterior
aumentado en un 16%).
SELECT idfab,idproducto,descripcion,precio, (precio * 1.16) AS iva_incluido
FROM productos
2.
De cada pedido queremos saber su número de pedido, fab, producto,
cantidad, precio unitario e importe.
SELECT numpedido, fab, producto, cant, importe / cant AS precio_unitario, importe
FROM pedidos
3.
Listar de cada empleado su nombre, nº de días que lleva trabajando en la
empresa y su año de nacimiento (suponiendo que este año ya ha cumplido años).
SELECT nombre, date() - contrato AS dias_trabajados, year(date()) - edad AS
año_nacimiento
FROM empleados
4.
Obtener la lista de los clientes agrupados por código de representante
asignado, visualizar todas la columnas de la tabla.
SELECT *
FROM clientes
ORDER BY repclie
5.
Obtener las oficinas ordenadas por orden alfabético de región y dentro de
cada región por ciudad, si hay más de una oficina en la misma ciudad, aparecerá
primero la que tenga el número de oficina mayor.
SELECT *
FROM oficinas
ORDER BY region, ciudad, oficina DESC
6.
Obtener los pedidos ordenados por fecha de pedido.
SELECT *
FROM pedidos
ORDER BY fechapedido
7.
Listar las cuatro líneas de pedido más caras (las de mayor importe).
SELECT TOP 4 *
FROM pedidos
ORDER importe DESC
ENCALADA SANDOVAL BRISA
ULADECH – CATÓLICA
PRACTICAS PROFESIONALES II
8.
Obtener las mismas columnas que en el ejercicio 2 pero sacando unicamente
las 5 líneas de pedido de menor precio unitario.
SELECT TOP 5 numpedido, fab, producto, cant, importe / cant AS precio_unitario, importe
FROM pedidos
ORDER BY 5
9.
Listar toda la información de los pedidos de marzo.
SELECT *
FROM pedidos
WHERE MONTH(fechapedido) = 3
10.
Listar los números de los empleados que tienen una oficina asignada.
SELECT numemp
FROM empleados
WHERE oficina IS NOT NULL
11.
Listar los números de las oficinas que no tienen director.
SELECT oficina
FROM oficinas
WHERE dir IS NULL
12.
Listar los datos de las oficinas de las regiones del norte y del este (tienen que
aparecer primero las del norte y después las del este).
SELECT *
FROM oficinas
WHERE region IN ('norte','este')
ORDER BY region DESC
13.
Listar los empleados de nombre Julia.
SELECT *
FROM empleados
WHERE nombre LIKE 'Julia *'
14.
Listar los productos cuyo idproducto acabe en x.
SELECT *
FROM productos
WHERE idproducto LIKE '*x'
ENCALADA SANDOVAL BRISA
ULADECH – CATÓLICA
PRACTICAS PROFESIONALES II
CONSULTAS MULTITABLA
1.
Listar las oficinas del este indicando para cada una de ellas su número,
ciudad, números y nombres de sus empleados. Hacer una versión en la que
aparecen sólo las que tienen empleados, y hacer otra en las que aparezcan las
oficinas del este que no tienen empleados.
Consulta_multitabla_1
SELECT oficinas.oficina, ciudad, numemp, nombre
FROM oficinas INNER JOIN empleados ON oficinas.oficina = empleados.oficina
WHERE region = 'este'
Consulta_multitabla_2
SELECT oficinas.oficina, ciudad, numemp, nombre
FROM oficinas LEFT JOIN empleados ON oficinas.oficina = empleados.oficina
WHERE region = 'este'
Consulta_multitabla_3
SELECT oficinas.oficina, ciudad, numemp, nombre
FROM empleados RIGHT JOIN oficinas ON oficinas.oficina = empleados.oficina
WHERE region = 'este'
2.
Listar los pedidos mostrando su número, importe, nombre del cliente, y el
límite de crédito del cliente correspondiente (todos los pedidos tienen cliente y
representante).
SELECT numpedido, importe, clientes.nombre AS cliente, limitecredito
FROM pedidos INNER JOIN clientes ON pedidos.clie = clientes.numclie
3.
Listar los datos de cada uno de los empleados, la ciudad y región en donde
trabaja.
SELECT empleados.*, ciudad, region
FROM empleados LEFT JOIN oficinas ON empleados.oficina = oficinas.oficina
4.
Listar las oficinas con objetivo superior a 600.000 pts indicando para cada
una de Ellas el nombre de su director.
SELECT oficinas.*, nombre AS director
FROM empleados RIGHT JOIN oficinas ON empleados.oficina = oficinas.oficina
WHERE objetivo > 600000
ENCALADA SANDOVAL BRISA
ULADECH – CATÓLICA
PRACTICAS PROFESIONALES II
5.
Listar los pedidos superiores a 25.000 pts, incluyendo el nombre del
empleado que tomó el pedido y el nombre del cliente que lo solicitó.
SELECT numpedido, importe, empleados.nombre AS representante, clientes.nombre AS
cliente
FROM (pedidos INNER JOIN clientes ON pedidos.clie = clientes.numclie) INNER JOIN
empleados ON pedidos.rep = empleados.numemp
WHERE importe > 25000
6.
Hallar los empleados que realizaron su primer pedido el mismo día en que
fueron contratados.
SELECT empleados.*
FROM empleados INNER JOIN pedidos ON pedidos.rep = empleados.numemp
WHERE fechapedido = contrato
7.
Listar los empleados con una cuota superior a la de su jefe; para cada
empleado sacar sus datos y el número, nombre y cuota de su jefe.
SELECT empleados.*, jefes.numemp AS num_jefe, jefes.nombre AS nombre_jefe,
jefes.cuota AS cuota_jefe
FROM empleados INNER JOIN empleados jefes ON empleados.jefe = jefes.numemp
WHERE empleados.cuota > jefes.cuota
8.
Listar los códigos de los empleados que tienen una línea de pedido superior
a 10.000 ptas o que tengan una cuota inferior a 10.000 pts.
SELECT numemp
FROM empleados LEFT JOIN pedidos ON pedidos.rep = empleados.numemp
WHERE importe > 10000 OR cuota < 10000
ENCALADA SANDOVAL BRISA
Descargar