A continuación, se muestran diferentes ejemplos de búsquedas sobre un conjunto de datos generado e insertado datos en post anteriores.
Obtener el código, nombre edad y ciudad de aquellos clientes mayores a 30 años pero que tengan una dirección registrada y ordenado descendentemente por código de cliente.
SELECT client_id, age, client_name, city FROM ventas.tb_client WHERE age > 30 AND address IS NOT NULL ORDER BY client_id DESC;
Obtener un listado con el código y nombre de las categorías que tengan más de 5 productos vinculados, ordenadas ascendentemente por nombre de categoría.
SELECT category_id, category_name FROM ventas.tb_category WHERE category_id IN ( SELECT category_id FROM ventas.tb_product GROUP BY category_id HAVING COUNT(category_id) > 5 ) ORDER BY category_name ASC;
Obtener el nombre del producto, su precio y el nombre de la categoría de los productos que han sido adquiridos por clientes de Valladolid, ordenado descendentemente por precio.
SELECT Pro.product_name, Pro.price, Cat.category_name FROM ventas.tb_product Pro INNER JOIN ventas.tb_order Orden ON Orden.product_id = Pro.product_id INNER JOIN ventas.tb_client Cli ON Cli.client_id = Orden.client_id INNER JOIN ventas.tb_category Cat ON Pro.category_id = Cat.category_id WHERE Cli.city = 'Valladolid' ORDER BY Pro.price DESC;
Calcular los costes totales de todas las compras de clientes de Valladolid.
SELECT SUM(Pro.price * Orden.quantity) FROM ventas.tb_product Pro INNER JOIN ventas.tb_order Orden ON Orden.product_id = Pro.product_id INNER JOIN ventas.tb_client Cli ON Cli.client_id = Orden.client_id INNER JOIN ventas.tb_category Cat ON Pro.category_id = Cat.category_id WHERE Cli.city = 'Valladolid'
Obtener para cada ciudad, el número total de clientes diferentes y el número total de pedidos, ordenados por número de clientes.
SELECT Cli.city, COUNT(DISTINCT Cli.client_id) AS clientes_total, COUNT(Orden.order_id) AS pedidos_total FROM ventas.tb_client Cli, ventas.tb_order Orden WHERE Cli.client_id = Orden.client_id GROUP BY Cli.city ORDER BY pedidos_total DESC, city ASC;
0 comentarios