Utworzenie bazy danych i tabeli
Utwórz bazę danych schronisko z tabelą zwierzeta i kolumnami:
- id INT PRIMARY KEY AUTO_INCREMENT
- imie VARCHAR(50)
- gatunek VARCHAR(30)
- wiek INT
- data_przyjecia DATE
-- Utworzenie bazy danych
CREATE DATABASE schronisko
CHARACTER SET utf8
COLLATE utf8_unicode_ci;
-- Wybranie bazy danych
USE schronisko;
-- Utworzenie tabeli zwierzeta
CREATE TABLE zwierzeta (
id INT PRIMARY KEY AUTO_INCREMENT,
imie VARCHAR(50) NOT NULL,
gatunek VARCHAR(30) NOT NULL,
wiek INT NOT NULL,
data_przyjecia DATE NOT NULL
);
Zadanie 1 – Wyświetlanie kotów
Wyświetl wszystkie zwierzęta typu kot.
SELECT * FROM zwierzeta
WHERE gatunek = 'kot';
Zadanie 2 – Zwierzęta starsze niż 5 lat
Wyświetl wszystkie zwierzęta, których wiek jest większy niż 5.
SELECT * FROM zwierzeta
WHERE wiek > 5;
Zadanie 3 – Zwierzęta przyjęte w konkretnym okresie
Wyświetl wszystkie zwierzęta przyjęte między 2025-01-01 a 2025-06-30.
SELECT * FROM zwierzeta
WHERE data_przyjecia BETWEEN '2025-01-01' AND '2025-06-30';
Zadanie 4 – Psy młodsze niż 3 lata
Wyświetl wszystkie zwierzęta gatunku pies młodsze niż 3 lata.
SELECT * FROM zwierzeta
WHERE gatunek = 'pies' AND wiek < 3;
Zadanie 5 – Sortowanie według wieku i daty przyjęcia
Wyświetl wszystkie zwierzęta posortowane rosnąco według wieku, a następnie malejąco według daty przyjęcia.
SELECT * FROM zwierzeta
ORDER BY wiek ASC, data_przyjecia DESC;
Zadanie 6 – Wyszukiwanie zwierząt po imieniu
Wyświetl zwierzęta, których imię zaczyna się na literę M.
SELECT * FROM zwierzeta
WHERE imie LIKE 'M%';
Zadanie 7 – Liczba zwierząt według gatunku
Wyświetl liczbę zwierząt w każdym gatunku.
SELECT gatunek, COUNT(*) AS liczba
FROM zwierzeta
GROUP BY gatunek;
Zadanie 8 – Średni wiek zwierząt
Oblicz średni wiek zwierząt dla każdego gatunku.
SELECT gatunek, AVG(wiek) AS sredni_wiek
FROM zwierzeta
GROUP BY gatunek;
Zadanie 9 – Najstarsze zwierzę z każdego gatunku
Wyświetl po jednym najstarszym zwierzęciu dla każdego gatunku.
SELECT * FROM zwierzeta z1
WHERE wiek = (
SELECT MAX(wiek) FROM zwierzeta z2
WHERE z2.gatunek = z1.gatunek
);
Zadanie 10 – Zwierzęta przyjęte w ostatnich 30 dniach
Wyświetl wszystkie zwierzęta przyjęte w ciągu ostatnich 30 dni.
SELECT * FROM zwierzeta
WHERE data_przyjecia >= CURDATE() - INTERVAL 30 DAY;
Zadanie 11 – Wyszukiwanie z wielu kryteriów
Wyświetl psy młodsze niż 5 lat lub koty starsze niż 7 lat.
SELECT * FROM zwierzeta
WHERE (gatunek = 'pies' AND wiek < 5)
OR (gatunek = 'kot' AND wiek > 7);
Zadanie 12 – Porządkowanie i filtrowanie
Wyświetl wszystkie zwierzęta posortowane alfabetycznie według imienia i filtrowane po gatunku „kot”.
SELECT * FROM zwierzeta
WHERE gatunek = 'kot'
ORDER BY imie ASC;