Curso de PHP

Estás en: MySql y SQL : Ejercicios con la base de datos "empresa"

Ejercicios con la base de datos "empresa"

Ejercicios

Obtener una lista de todos los productos indicando para cada uno su idfab, idproducto, descripción, precio y precio con IVA incluido (16% más)

SELECT productos.idfab AS IdFAB, productos.idproducto AS ID_Producto, 
       productos.descripcion AS Descripcion, productos.precio AS Precio, 
       (productos.precio * 1.16) AS Precio_IVA
FROM productos

De cada pedido, queremos saber su número de pedido, fab, producto, cantidad, precio unitario e importe

SELECT pedidos.numpedido AS Numero_Pedido, pedidos.fab AS Fabricante, 
       pedidos.producto AS Producto, pedidos.cant AS Cantidad, 
       (pedidos.importe / pedidos.cant) AS Precio_Unitario, pedidos.importe AS Importe
FROM pedidos

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 se ha cumplido). Curdate() -> aaaa-mm-dd.

SELECT empleados.nombre, curdate()-empleados.contrato AS Dias_en_Empresa, 
       year(curdate())-edad AS Año_Nacimiento 
FROM empleados

Obtener la lista de los clientes agrupados por código de representante asignado, visualizar todas las columnas de la tabla.

SELECT *
FROM clientes
GROUP BY repclie, nombre (si no se pone nombre, de cada representante sólo aparece un cliente)

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 ASC

Obtener los pedidos ordenados por fecha de pedido

SELECT *
FROM pedidos
ORDER BY pedidos.fechapedido

Listar las cuatro líneas de pedido más caras (las de mayor importe)

SELECT *
FROM pedidos
ORDER BY importe DESC

Obtener las mismas columnas que en el ejercicio 2 pero sacando unicamente las 5 líneas de pedido de menor precio unitario

SELECT pedidos.numpedido, pedidos.cant, pedidos.importe/pedidos.cant AS Precio_Unitario, importe
FROM pedidos
ORDER BY Precio_unitario ASC

Listar toda la información de los pedidos de marzo

SELECT *
FROM pedidos
WHERE MONTH(fechapedido)=3

Listar los números de los empleados que tienen una oficina asignada

SELECT numemp
FROM empleados
WHERE oficina IS NOT NULL

Listar los números de las oficinas que no tienen director

SELECT oficina
FROM oficinas
WHERE dir IS NULL

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='norte' OR region='este'
ORDER BY region DESC

Listar los empleados de nombre Ana

SELECT *
FROM empleados 
WHERE nombre LIKE 'Ana%'   -> El % equivale a "resto de caracteres"

Listar los productos cuyo idproducto acabe en x

SELECT *
FROM productos
WHERE idproducto LIKE '%x'