En aquest tema, explorarem com SQL s'utilitza en situacions reals per resoldre problemes comuns en diferents indústries. A través d'exemples pràctics, veurem com les consultes SQL poden ajudar a extreure informació valuosa de les bases de dades, optimitzar processos i prendre decisions informades.

  1. Anàlisi de vendes en comerç electrònic

Descripció del problema

Una empresa de comerç electrònic vol analitzar les seves vendes per identificar els productes més venuts, les tendències de compra i els clients més valuosos.

Consultes SQL

1.1. Productes més venuts

SELECT product_id, COUNT(*) AS total_sales
FROM orders
GROUP BY product_id
ORDER BY total_sales DESC
LIMIT 10;

Explicació:

  • SELECT product_id, COUNT(*) AS total_sales: Selecciona l'ID del producte i compta el nombre total de vendes per a cada producte.
  • FROM orders: De la taula de comandes.
  • GROUP BY product_id: Agrupa els resultats per ID de producte.
  • ORDER BY total_sales DESC: Ordena els resultats per nombre de vendes en ordre descendent.
  • LIMIT 10: Limita els resultats als 10 productes més venuts.

1.2. Tendències de compra mensuals

SELECT DATE_TRUNC('month', order_date) AS month, COUNT(*) AS total_orders
FROM orders
GROUP BY month
ORDER BY month;

Explicació:

  • SELECT DATE_TRUNC('month', order_date) AS month, COUNT(*) AS total_orders: Selecciona el mes de la data de la comanda i compta el nombre total de comandes per a cada mes.
  • FROM orders: De la taula de comandes.
  • GROUP BY month: Agrupa els resultats per mes.
  • ORDER BY month: Ordena els resultats per mes.

1.3. Clients més valuosos

SELECT customer_id, SUM(order_total) AS total_spent
FROM orders
GROUP BY customer_id
ORDER BY total_spent DESC
LIMIT 10;

Explicació:

  • SELECT customer_id, SUM(order_total) AS total_spent: Selecciona l'ID del client i suma el total de les comandes per a cada client.
  • FROM orders: De la taula de comandes.
  • GROUP BY customer_id: Agrupa els resultats per ID de client.
  • ORDER BY total_spent DESC: Ordena els resultats per total gastat en ordre descendent.
  • LIMIT 10: Limita els resultats als 10 clients que més han gastat.

  1. Gestió d'inventari en una botiga minorista

Descripció del problema

Una botiga minorista necessita gestionar el seu inventari per assegurar-se que els productes més venuts estiguin sempre disponibles i evitar l'excés d'estoc de productes menys populars.

Consultes SQL

2.1. Productes amb baix estoc

SELECT product_id, product_name, stock_quantity
FROM inventory
WHERE stock_quantity < 10;

Explicació:

  • SELECT product_id, product_name, stock_quantity: Selecciona l'ID del producte, el nom del producte i la quantitat d'estoc.
  • FROM inventory: De la taula d'inventari.
  • WHERE stock_quantity < 10: Filtra els productes amb una quantitat d'estoc inferior a 10.

2.2. Productes amb excés d'estoc

SELECT product_id, product_name, stock_quantity
FROM inventory
WHERE stock_quantity > 100;

Explicació:

  • SELECT product_id, product_name, stock_quantity: Selecciona l'ID del producte, el nom del producte i la quantitat d'estoc.
  • FROM inventory: De la taula d'inventari.
  • WHERE stock_quantity > 100: Filtra els productes amb una quantitat d'estoc superior a 100.

  1. Anàlisi de dades en una empresa de màrqueting

Descripció del problema

Una empresa de màrqueting vol analitzar les dades de les seves campanyes per determinar quines són les més efectives i quins segments de clients responen millor a les campanyes.

Consultes SQL

3.1. Campanyes més efectives

SELECT campaign_id, COUNT(*) AS total_responses
FROM campaign_responses
GROUP BY campaign_id
ORDER BY total_responses DESC
LIMIT 5;

Explicació:

  • SELECT campaign_id, COUNT(*) AS total_responses: Selecciona l'ID de la campanya i compta el nombre total de respostes per a cada campanya.
  • FROM campaign_responses: De la taula de respostes de campanya.
  • GROUP BY campaign_id: Agrupa els resultats per ID de campanya.
  • ORDER BY total_responses DESC: Ordena els resultats per nombre de respostes en ordre descendent.
  • LIMIT 5: Limita els resultats a les 5 campanyes més efectives.

3.2. Segments de clients més responsius

SELECT customer_segment, COUNT(*) AS total_responses
FROM campaign_responses
GROUP BY customer_segment
ORDER BY total_responses DESC;

Explicació:

  • SELECT customer_segment, COUNT(*) AS total_responses: Selecciona el segment de clients i compta el nombre total de respostes per a cada segment.
  • FROM campaign_responses: De la taula de respostes de campanya.
  • GROUP BY customer_segment: Agrupa els resultats per segment de clients.
  • ORDER BY total_responses DESC: Ordena els resultats per nombre de respostes en ordre descendent.

Resum

En aquest tema, hem vist com SQL es pot utilitzar per resoldre problemes reals en diferents indústries. Hem explorat exemples pràctics d'anàlisi de vendes, gestió d'inventari i anàlisi de dades de màrqueting. Aquestes consultes SQL poden ajudar les empreses a extreure informació valuosa de les seves bases de dades, optimitzar processos i prendre decisions informades. En el proper tema, explorarem les millors pràctiques per utilitzar SQL de manera eficient i efectiva.

Curs de SQL

Mòdul 1: Introducció a SQL

Mòdul 2: Consultes bàsiques de SQL

Mòdul 3: Treballar amb múltiples taules

Mòdul 4: Filtratge avançat de dades

Mòdul 5: Manipulació de dades

Mòdul 6: Funcions avançades de SQL

Mòdul 7: Subconsultes i consultes niades

Mòdul 8: Índexs i optimització del rendiment

Mòdul 9: Transaccions i concurrència

Mòdul 10: Temes avançats

Mòdul 11: SQL en la pràctica

Mòdul 12: Projecte final

© Copyright 2024. Tots els drets reservats