Tworzenie bazy zdrowie w MYSQL-u
1) Utwórz bazę zdrowie wpisując polecenie
CREATE DATABASE zdrowie;
2) Wybierz bazę zdrowie (w celu tworzenia tabel w tej bazie) wpisując polecenie
USE zdrowie;
3) Utwórz tabelę szpital z następującymi kolumnami:
lp - liczba całkowita, niepuste
nazwisko_pacjenta - 40 znaków
nazwisko_lekarza - 35 znaków
data_od - data
data_do - data
oddzial 20 znaków
koszt - liczba rzeczywista
Ustaw klucz główny tabeli w kolumnie lp
W celu utworzenia tabeli szpital wpisz następujące polecenia
CREATE TABLE szpital
(lp INTEGER NOT NULL,
nazwisko_pacjenta CHAR (40) NOT NULL,
nazwisko_lekarza CHAR (35) ,
data_od DATE,
data_do DATE,
oddzial CHAR (20),
koszt REAL,
PRIMARY KEY (lp));
4) Wprowadź dane do tabeli szpital wpisując polecenie
INSERT INTO szpital VALUES
(`1', `Kowalski', `Nowak', `2001.05.07', `2001.05.26`, `chirurgia', `1567.90'),
(`2', `Adamski', `Jaskowski', `2002.11.15', `2002.12.21`, `okulistyka', `1867'),
(`3', `Kosińskii', `Nowak', `2003.08.12', `2003.09.30`, `chirurgia', `3511'),
(`4', `Bucki', `Jezierski', `2004.04.13', `2004.05.26`, `laryngologia', `2567.10'),
(`5', `Cysterska', `Kamiński', `2006.07.23', `2006.08.16`, `chirurgia', `1567.80' ),
(`6', `Zieliński', `Jaskowski', `2002.09.15', `2002.11.21`, `okulistyka', `1367'),
(`7', `Latosński', `Jezierski', `2004.04.13', `2004.05.30`, `laryngologia', `2545'),
(`8', `Szumska', `Kamiński', `2007.07.23', `2007.08.13`, `chirurgia', `4567.80' ),
(`9', `Cysterska', `Nowak', `2002.02.23', `2002.03.27`, `chirurgia', `2378' );
Proste zapytania w SQL
5) Wyświetl tabelę szpital wpisując polecenie
6) Wyświetl kolumny: nazwisko_pacjenta, nazwisko_lekarza, oddzial, koszt
7) Wyświetl kolumny: nazwisko_pacjenta, nazwisko_lekarza, data_od oraz posortuj według kolumny nazwisko_lekarza
8) Wyświetl kolumny: nazwisko_ pacjenta, oddzial, dla osób przebywających na chirurgii
Zapytania w SQL z wyrażeniami logicznymi AND, OR, NOT
9) Wyświetl wszystkie rekordy pacjentów, leczonych przez lekarza Nowaka oraz przebywających w szpitalu między 2001 a 2002 rokiem
SELECT * FROM szpital WHERE data_do BETWEEN `2001.01.01' AND `2002.12.31' AND nazwisko_lekarza='Nowak';
10) Wyświetl rekordy pacjentów, których nazwiska nie zaczynają się na literę K oraz koszt ich badania był mniejszy niż 2100
SELECT * FROM szpital WHERE nazwisko_pacjenta NOT LIKE `K%' AND koszt<2100;
11) Wyświetl rekordy pacjentów, którzy byli leczeni przez Kamińskiego lub Jezierskiego
SELECT * FROM szpital WHERE nazwisko_lekarza='Kamiński' OR nazwisko_lekarza='Jezierski';
12) Wyświetl rekordy pacjentów, których koszt leczenia jest mniejszy niż 1500 lub większy niż 3000
SELECT * FROM szpital WHERE koszt < 1500 OR koszt > 3000;
OBLICZENIA W SQL
13) Sprawdź jakie obliczenia wykonują poszczególne zapytania
SELECT MAX(koszt) FROM szpital;
SELECT MIN(koszt) FROM szpital;
SELECT SUM(koszt) FROM szpital;
SELECT AVG(koszt) FROM szpital;
SELECT MIN(nazwisko_pacjenta) FROM szpital;
14) Wyświetl podsumowane koszty badań przeprowadzonych przez każdego z lekarzy.
SELECT nazwisko_lekarza, SUM(koszt) FROM szpital GROUP BY nazwisko_lekarza;
15) Wyświetl kolumny: nazwisko_pacjenta, data_od, data_do z wyliczoną liczbą dni pobytu w szpitalu
SELECT nazwisko_pacjenta, data_od, data_do, (data_do-data_od) as liczba_dni FROM szpital;