Wykorzystanie SQL do analizy danych w sklepie internetowym

SQL (Structured Query Language) to jedno z najważniejszych narzędzi do zarządzania bazami danych. Dzięki niemu możemy pobierać, filtrować i analizować informacje, co jest kluczowe w zarządzaniu sklepem internetowym. W tym artykule omówimy kilka przydatnych zapytań SQL, które pomogą w analizie danych klientów i zamówień.

1. Klienci, którzy złożyli zamówienia w 2023 roku

Aby znaleźć klientów, którzy dokonali zakupów w określonym roku, możemy użyć zapytania:

SELECT DISTINCT klienci.imie, klienci.nazwisko
FROM klienci
JOIN zamowienia ON klienci.id = zamowienia.klient_id
WHERE strftime('%Y', zamowienia.data) = '2023';

To zapytanie łączy tabelę klientów z tabelą zamówień i filtruje wyniki na podstawie roku.

2. Produkty zamówione przez klientów z Gdańska

Aby znaleźć produkty zamówione przez klientów z Gdańska:

SELECT DISTINCT produkty.nazwa
FROM produkty
JOIN zamowienia ON produkty.id = zamowienia.produkt_id
JOIN klienci ON zamowienia.klient_id = klienci.id
WHERE klienci.miasto = 'Gdańsk';

Zapytanie łączy trzy tabele i filtruje zamówienia klientów pochodzących z konkretnego miasta.

3. Klienci, którzy nie złożyli zamówienia

Aby znaleźć klientów, którzy nigdy nie dokonali zakupu:

SELECT klienci.imie, klienci.nazwisko, klienci.miasto
FROM klienci
LEFT JOIN zamowienia ON klienci.id = zamowienia.klient_id
WHERE zamowienia.id IS NULL;

Tutaj używamy LEFT JOIN i sprawdzamy, którzy klienci nie mają powiązanych zamówień.

4. Suma wydatków klientów

Chcemy dowiedzieć się, ile każdy klient wydał w sklepie:

SELECT klienci.imie, klienci.nazwisko, SUM(zamowienia.kwota) AS suma_wydatkow
FROM klienci
JOIN zamowienia ON klienci.id = zamowienia.klient_id
GROUP BY klienci.id;

Dzięki funkcji SUM() obliczamy całkowitą wartość zamówień dla każdego klienta.

5. Zamówienia zawierające konkretny produkt

Aby znaleźć wszystkie zamówienia, które zawierają „Produkt A”:

SELECT zamowienia.id, zamowienia.data, klienci.imie
FROM zamowienia
JOIN produkty ON zamowienia.produkt_id = produkty.id
JOIN klienci ON zamowienia.klient_id = klienci.id
WHERE produkty.nazwa = 'Produkt A';

To zapytanie pozwala na szybkie znalezienie interesujących nas transakcji.

6. Klienci z wieloma zamówieniami

Chcemy znaleźć klientów, którzy złożyli więcej niż jedno zamówienie:

SELECT klienci.imie, klienci.nazwisko, COUNT(zamowienia.id) AS liczba_zamowien
FROM klienci
JOIN zamowienia ON klienci.id = zamowienia.klient_id
GROUP BY klienci.id
HAVING COUNT(zamowienia.id) > 1;

Użycie funkcji COUNT() i klauzuli HAVING pozwala na filtrowanie wyników według liczby zamówień.

7. Produkty, które nie zostały zamówione

Aby znaleźć produkty, które nie zostały nigdy zamówione:

SELECT produkty.nazwa
FROM produkty
LEFT JOIN zamowienia ON produkty.id = zamowienia.produkt_id
WHERE zamowienia.id IS NULL;

Dzięki LEFT JOIN możemy sprawdzić, które produkty nie występują w tabeli zamówień.

8. Klienci z ostatnimi zamówieniami

Aby znaleźć klientów, którzy dokonali zakupu w ciągu ostatniego roku:

SELECT klienci.imie, klienci.nazwisko, MAX(zamowienia.data) AS ostatnie_zamowienie
FROM klienci
JOIN zamowienia ON klienci.id = zamowienia.klient_id
WHERE zamowienia.data >= DATE('now', '-1 year')
GROUP BY klienci.id;

To zapytanie pokazuje ostatnie zamówienie dla każdego klienta, który kupił coś w ciągu ostatnich 12 miesięcy.

Podsumowanie

SQL to niezwykle potężne narzędzie pozwalające na analizę danych w bazach sklepów internetowych. Dzięki umiejętnemu stosowaniu JOIN, GROUP BY oraz funkcji agregujących możemy uzyskać cenne informacje o klientach i sprzedaży. Mam nadzieję, że te przykłady pomogą w zrozumieniu podstaw SQL i jego praktycznego zastosowania!

Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *