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.
- 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.
- 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
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
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.
- 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
- Utilitzar LIKE per a coincidències de patrons
- Operadors IN i BETWEEN
- Valors NULL i IS NULL
- Agrupar dades amb GROUP BY
- Clàusula HAVING
Mòdul 5: Manipulació de dades
Mòdul 6: Funcions avançades de SQL
Mòdul 7: Subconsultes i consultes niades
- Introducció a les subconsultes
- Subconsultes correlacionades
- EXISTS i NOT EXISTS
- Utilitzar subconsultes en les clàusules SELECT, FROM i WHERE
Mòdul 8: Índexs i optimització del rendiment
- Comprendre els índexs
- Crear i gestionar índexs
- Tècniques d'optimització de consultes
- Analitzar el rendiment de les consultes
Mòdul 9: Transaccions i concurrència
- Introducció a les transaccions
- Propietats ACID
- Instruccions de control de transaccions
- Gestionar la concurrència
Mòdul 10: Temes avançats
Mòdul 11: SQL en la pràctica
- Casos d'ús del món real
- Millors pràctiques
- SQL per a l'anàlisi de dades
- SQL en el desenvolupament web