Opis: Wyświetl produkty, których cena jest wyższa od średniej ceny wszystkich produktów.
Rezultat: Lista produktów, w których cena > średnia.
SELECT nazwa, cena
FROM produkty
WHERE cena > (SELECT AVG(cena) FROM produkty);
Ćwiczenie 2: Klienci, którzy złożyli zamówienie
Opis: Znajdź wszystkich klientów, którzy mają co najmniej jedno zamówienie.
Rezultat: Lista imion i nazwisk klientów z zamówieniami.
SELECT imie, nazwisko
FROM klienci
WHERE id_klienta IN (SELECT id_klienta FROM zamowienia);
Ćwiczenie 3: Produkty z najniższą ceną
Opis: Wyświetl wszystkie produkty, które mają najniższą cenę w tabeli.
Rezultat: Produkty o minimalnej cenie.
SELECT nazwa, cena
FROM produkty
WHERE cena = (SELECT MIN(cena) FROM produkty);
Ćwiczenie 4: Zamówienia droższe niż średnia
Opis: Wyświetl zamówienia, których wartość jest większa od średniej wszystkich zamówień.
Rezultat: Lista zamówień powyżej średniej.
SELECT id_zamowienia, suma
FROM zamowienia
WHERE suma > (SELECT AVG(suma) FROM zamowienia);
Ćwiczenie 5: Produkty tańsze niż najdroższy w kategorii
Opis: Wyświetl produkty, których cena jest niższa od najdroższego produktu w kategorii Elektronika.
Rezultat: Produkty tańsze niż najdroższy w Elektronice.
SELECT nazwa, cena
FROM produkty
WHERE cena < (SELECT MAX(cena) FROM produkty WHERE kategoria='Elektronika');
Ćwiczenie 6: Klienci bogatsi niż Kowalski
Opis: Znajdź klientów, którzy wydali więcej pieniędzy niż Jan Kowalski.
Rezultat: Lista klientów wydających więcej niż Kowalski.
SELECT imie, nazwisko
FROM klienci
WHERE id_klienta IN (
SELECT id_klienta
FROM zamowienia
GROUP BY id_klienta
HAVING SUM(suma) > (
SELECT SUM(suma)
FROM zamowienia z
JOIN klienci k ON z.id_klienta = k.id_klienta
WHERE k.imie='Jan' AND k.nazwisko='Kowalski'
)
);
Ćwiczenie 7: Produkty droższe niż średnia w kategorii
Opis: Dla każdej kategorii znajdź produkty droższe od średniej ceny w tej kategorii.
Rezultat: Produkty powyżej średniej w kategorii.
SELECT nazwa, cena, id_kategorii
FROM produkty p
WHERE cena > (
SELECT AVG(cena)
FROM produkty
WHERE id_kategorii = p.id_kategorii
);
Ćwiczenie 8: Klienci tylko z 2024 roku
Opis: Wyświetl klientów, którzy składali zamówienia tylko w roku 2024.
Rezultat: Klienci aktywni wyłącznie w 2024.
SELECT imie, nazwisko
FROM klienci
WHERE id_klienta NOT IN (
SELECT id_klienta
FROM zamowienia
WHERE YEAR(data_zamowienia) <> 2024
);
Ćwiczenie 9: Top 3 najdroższe produkty
Opis: Wyświetl trzy najdroższe produkty.
Rezultat: Trzy rekordy najdroższych produktów.
SELECT nazwa, cena
FROM produkty
WHERE cena IN (
SELECT cena
FROM produkty
ORDER BY cena DESC
LIMIT 3
);
Ćwiczenie 10: Średnia wartość zamówień dla aktywnych klientów
Opis: Oblicz średnią wartość zamówienia dla klientów, którzy mają więcej niż 5 zamówień.
Rezultat: Średnia wartość zamówień dla aktywnych klientów.
SELECT AVG(suma) AS srednia
FROM zamowienia
WHERE id_klienta IN (
SELECT id_klienta
FROM zamowienia
GROUP BY id_klienta
HAVING COUNT(*) > 5
);
Rezultat 1: Operacje na bazie danych
R.1.1 Wykonany import tabel do bazy danych obuwie, udokumentowany plikiem JPEG.
R.1.2 Zapisany plik kwerendy.txt z co najmniej jednym zapytaniem SQL.
R.1.3 Zapytanie wybierające kolor i materiał produktów, których wysokość buta > 10.
SELECT kolor, material
FROM produkt
WHERE wysokosc_buta > 10;
R.1.4 Zapytanie wybierające nazwę i cenę buta oraz nazwę kategorii (JOIN).
SELECT nazwa, cena, nazwa_kat
FROM buty
JOIN kategorie USING(id_kat);
R.1.5 Utworzenie konta użytkownika Marek.
CREATE USER 'Marek'@'localhost' IDENTIFIED BY 'M@reK';
R.1.6 Nadanie kontu Marek uprawnień SELECT, UPDATE w tabeli produkt.
GRANT SELECT, UPDATE ON obuwie.produkt TO 'Marek'@'localhost';