2003.05.09 - polecenia
Wyświetl inf. o wizytach które odbyły się po 7 grudnia 2003 roku
SELECT [nr ubezpieczenia], [numer lekarza], [data wizyty]
FROM wizyty
WHERE [data wizyty]>#2003-12-03#;
Wyświetl inf. o pacjentach których nazwisko zaczyna się od litery podanej jako parametr
SELECT nazwisko, imię, [nr ubezpieczenia], [data urodzenia]
from pacjenci
where nazwisko like [Podaj pierwsze (pierwszą) literę nazwiska] & "*";
Oblicz ile lat maja pacjenci
SELECT nazwisko, imię, [nr ubezpieczenia], year(date())-year([data urodzenia]) as [wiek pacjenta]
from pacjenci
Wyświetl tylko dane kobiet, nie dopisując do tabeli kolumny „Płeć”. Przyjmij że imiona wszystkich kobiet kończą się na literę „A”. (prawa strona).
SELECT *
from pacjenci
where right(imię,1)="a"
Dane 5 najstarszych pacjentów
SELECT top 5 *
from pacjenci
order by [data urodzenia]
Dane 5 najmłodszych pacjentów
SELECT TOP 5 *
FROM pacjenci
ORDER BY [data urodzenia] DESC;
Pokaż ilu właścicieli mieszka w każdym z miast
SELECT count(*) AS [liczba właścicieli], miasto
FROM właściciel
GROUP BY miasto;
Oblicz ilu pacjentów jest zarejestrowanych w przychodni, jaka jest średnia wieku.
SELECT count(*) AS [liczba pacjentów], avg(year(date())-year([data urodzenia])) AS [średnia wieku]
FROM pacjenci;
Oblicz ilu pacjentów jest zarejestrowanych w przychodni, który jest najstarszy, jaka jest średnia wieku.
SELECT count(*) AS [liczba pacjentów], (select top 1 nazwisko+" "+imię from pacjenci) as [najstarszy pacjent], avg(year(date())-year([data urodzenia])) AS [średnia wieku]
FROM pacjenci;
Dla wszystkich pacjentów urodzonych przed określonym jako parametr terminem wyświetl imię, nazwisko, adres.
SELECT imię, nazwisko, adres
from pacjenci
where [data urodzenia]<[Podaj datę: np 2004-01-05]
Wyświetl dane pacjentów obchodzących dziś urodziny.
SELECT imię, nazwisko
from pacjenci
where (day(date())=day([data urodzenia]))and(month(date())=month([data urodzenia]))
2004.05.23 - polecenia 3
Pokaż nazwisko, imię, nr. karty pacjentów którzy odbyli wizyty.
SELECT nazwisko, imię, [nr karty]
from pacjenci inner join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
group by nazwisko, imię, [nr karty]
Pokaż nazwiska pacjentów z informacja ile wizyt odbyli.
SELECT nazwisko,count(wizyty.[nr ubezpieczenia]) as [liczba wizyt]
from pacjenci inner join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
group by nazwisko
Wyświetl dane WSZYSTKICH pacjentów i daty wizyt, jeżeli jakieś odbyli.
SELECT nazwisko, imię, adres, wizyty.[data wizyty]
from pacjenci left join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
Wyświetl daty wizyt i nazwiska pacjentów którzy je odbyli.
SELECT wizyty.[data wizyty], nazwisko
from pacjenci inner join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
Skonstruuj kwerendę która dla wybranego (jako parametr nazwiska) pokaże datę wizyty, dni zwolnienia, numer choroby.
SELECT pacjenci.nazwisko, [Data wizyty], [Dni zwolnienia], [numer choroby]
FROM wizyty inner join pacjenci on pacjenci.[nr ubezpieczenia]=wizyty.[nr ubezpieczenia]
WHERE nazwisko=[podaj nazwisko];
Skonstruuj kwerendę która dla wybranego (jako parametr nazwiska) pokaże datę wizyty, nazwisko lekarza, dni zwolnienia, numer choroby, nazwę choroby.
Skonstruuj kwerendę która dla wybranego (jako parametr nazwiska) pokaże datę wizyty, nazwisko lekarza, dni zwolnienia, nazwę choroby, nazwisko lekarza specjalisty (jeżeli jest).
Zbuduj kwerendę pokazującą nazwiska tych pacjentów którym przyznano w czasie wizyt zwolnienia oraz ilość dni zwolnienia jaka została każdemu z nich przyznana.
SELECT nazwisko, count([dni zwolnienia]) as [Łącznie dni zwolnienia]
from pacjenci inner join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
group by nazwisko
Zbuduj kwerendę pokazującą nazwiska WSZYSTKICH pacjentów oraz ilość dni zwolnienia jaka została każdemu z nich przyznana.
SELECT nazwisko, count([dni zwolnienia]) as [Łącznie dni zwolnienia]
from pacjenci left join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
group by nazwisko
2004.06.06 - polecenia zajęcia
Pokaż samochody których właściciel nie pochodzi z Łodzi. Dodaj nazwisko i nr telefonu właściciela.
SELECT [nazwa samochodu], model, właściciel.nazwisko, właściciel.imie, właściciel.miasto
from samochody inner join właściciel on właściciel.[id właściciela]=samochody.[id właściciela]
where not miasto="Łódź"
Pokaż samochody będące w komisie dłużej niż 3 miesiące
SELECT [numer rejestracyjny], [nazwa samochodu], model
from samochody
where (date()-data)>90
Zbuduj kwerendę pokazującą samochody wstawione do komisu w okresie definiowanym w momencie otwierania kwerendy jako parametr.
SELECT [numer rejestracyjny], [nazwa samochodu], model
from samochody
where (data>[Podaj datę poczatkową np: 2000-01-01]) and (data<[Podaj datę końcową np: 2004-01-01])
Zbuduj kwerendę pokazującą liczbę właścicieli w każdym mieście. Ilu w każdym mieście ma telefon, ilu go nie ma?
SELECT miasto, count(miasto) as [Liczba właścicieli w miastach], count([nr telefonu]) as [Liczba właścicieli mających telefon], count([nr telefonu] is null) as [Liczba właścicieli nie mających telefonu]
from właściciel
group by miasto
Zapisz dane właścicieli w dwóch kolumnach. W pierwszej nazwisko i imię, w drugiej adres, tzn. miasto, kod pocztowy, ulica.
SELECT (imie+" "+nazwisko) as [Imię i nazwisko], (miasto+" "+kod+", "+ulica) as [Adres zamieszkania]
from właściciel
Wyświetl informacje o samochodach droższych niż podawana jako parametr kwota.
SELECT *
from samochody
where cena>[Podaj cenę]
Wyświetl informacje o samochodach (nazwa, model, rocznik) i właścicielach (imię, nazwisko), dla właścicieli których nazwisko zaczyna się od litery (liter) podanej jako parametr.
SELECT [nazwa samochodu], model, [rok produkcji], właściciel.imie, właściciel.nazwisko
from samochody inner join właściciel on właściciel.[id właściciela]=samochody.[ID właściciela]
where nazwisko like [Podaj pierwszą litere(y) nazwiska] & "*"
Oblicz ile lat mają samochody stojące w komisie. Posortuj dane od najdroższego do najtańszego.
SELECT (year(date())-year(data)) AS [wiek samochodu], cena
FROM samochody
GROUP BY cena, (year(date())-year(data))
order by cena desc
Podaj nazwę, model, rocznik dla 5 najdroższych samochodów w komisie.
SELECT top 5 [nazwa samochodu], model, [rok produkcji], cena
from samochody
order by cena desc
Podaj nazwę, model, rocznik dla 5 najtańszych samochodów w komisie.
SELECT top 5 [nazwa samochodu], model, [rok produkcji], cena
from samochody
order by cena
Pokaż ilu właścicieli określonej płci mieszka w każdym mieście. Dodaj parametr który określi czy chcemy widzieć liczbę kobiet czy mężczyzn.
SELECT miasto, count(płeć) as [liczba właścicieli wybranej płci]
from właściciel
where płeć=[Ile jest (k)obiet, czy (m)ężczyzn]
group by miasto
Oblicz ile samochodów jest w komisie, jaka jest średnia cena, ile kosztuje najdroższy, ile najtańszy.
SELECT count(*) as [Liczba samochodów w komisie], avg(cena) as [Średnia cena samochodów], max(cena) as [najdroższy samochód], min(cena) as [najtańszy samochód]
from samochody
Pokaż nazwisko, nr. tel właścicieli którzy mają samochody w komisie. Dodaj nazwę i model samochodu.
SELECT nazwisko, [nr telefonu], samochody.[nazwa samochodu], samochody.[model]
from właściciel inner join samochody on samochody.[ID właściciela]=właściciel.[id właściciela]
Pokaż nazwiska WSZYSTKICH właścicieli z informacją ile samochodów przetrzymują w komisie.
SELECT nazwisko, count(samochody.[id właściciela]) as [Liczba samochodów]
from właściciel left join samochody on samochody.[id właściciela]=właściciel.[id właściciela]
group by nazwisko
Wyświetl daty przyjęcia samochodów do komisu i nazwiska oraz imiona ich właścicieli.
SELECT samochody.data, nazwisko, imie
from właściciel inner join samochody on samochody.[id właściciela]=właściciel.[id właściciela]
Pokaż właścicieli którzy MAJĄ numer telefonu.
SELECT *
from właściciel
where [nr telefonu] is not null
Pokaż nazwisko imię, nr. telefonu nazwę i model samochodu dla właścicieli którzy mają numer telefonu.
SELECT nazwisko, imie, [nr telefonu], samochody.[nazwa samochodu], samochody.model
from właściciel inner join samochody on samochody.[id właściciela]=właściciel.[id właściciela]
where [nr telefonu] is not null
Jaki procent właścicieli mieszka w każdym z miast?
SELECT miasto, format(count(nazwisko)/(select count(nazwisko) from właściciel), "0%") as [Procent właścicieli w miastach]
from właściciel
group by miasto
Jaki procent kobiet mieszka w każdym z miast?
SELECT miasto, format(count(nazwisko)/(select count(nazwisko) from właściciel where właściciel_1.miasto=właściciel.miasto), "0%") AS [Procent Kobiet w miastach]
FROM właściciel AS właściciel_1
WHERE płeć="k"
GROUP BY miasto;
Pokaż właścicieli którzy są starsi niż obliczona średnia wieku wszystkich właścicieli.
SELECT nazwisko, year(date())-year([data urodzenia]) as wiek
from właściciel
where year(date())-year([data urodzenia])>(select avg(year(date())-year([data urodzenia])) from właściciel)
Pokaż dane właścicieli którzy nie mają samochodów w komisie.
SELECT nazwisko, imie
from właściciel
where [id właściciela] not in (select [id właściciela] from samochody)
2004.06.06 - polecenia 4
Pokaż nazwisko, imię, numer karty pacjentów, oraz wartość kolumny „Badania” dla pacjentów którym w bieżącym roku wykonano badania specjalistyczne.
SELECT nazwisko, imię, [nr karty], wizyty.badania
FROM pacjenci INNER JOIN wizyty ON wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
WHERE year(date())=year(wizyty.[data wizyty])
GROUP BY nazwisko, imię, [nr karty], wizyty.badania;
Jaki procent pacjentów mieszka w każdym z miast?
SELECT Miejscowość, format(count(nazwisko)/(select count(nazwisko) from pacjenci), "0%") as [Procent pacjentów w miastach]
from pacjenci
group by miejscowość
Jaki procent kobiet mieszka w każdym z miast? Spróbuj rozwiązać to zadanie nie dodając kolumny „Płeć”.
SELECT miejscowość, format(count(nazwisko)/(select count(nazwisko) from pacjenci where pacjenci_1.miejscowość=pacjenci.miejscowość), "0%") as [Procent kobiet w miastach]
from pacjenci as pacjenci_1
where right(imię,1)="a"
group by miejscowość
Pokaż nazwisko i imię dla pacjentów których wiek jest wyższy niż średnia wieku pacjentów +10 lat.
SELECT nazwisko, imię
from pacjenci
where year(date())-year([data urodzenia])>(select avg(year(date())-year([data urodzenia]))+10 from pacjenci)
Pokaż dane pacjentów którzy NIE ODBYLI żadnej wizyty.
SELECT nazwisko, imię
from pacjenci
where [nr ubezpieczenia] not in (select [nr ubezpieczenia] from wizyty)
Oblicz jak często wizyty kończyły się skierowaniem do specjalisty, jak często miało to miejsce w wypadku wizyt kobiet, jak często w wypadku wizyt mężczyzn.
Pokaż nazwiska lekarzy, oblicz ile każdy z nich wydał skierowań na badania, ile razy przepisywał leki, ile dni zwolnienia przypisał łącznie.
Pokaż wizyty (numer wizyty, data wizyty, wizyta domowa, numer lekarza) z ostatniego miesiąca dla pacjentów 10 letnich i młodszych.
Stwórz kwerendę w której w kolumnach po kolei znajdą się informacje o liczbie pacjentów w każdym z miast, liczbie kobiet w każdym z miast, oraz liczbie mężczyzn w każdym z miast.
2004.06.06 - polecenia zbiór
Utwórz kwerendę pokazującą dane konkretnego pacjenta z wizytami które odbył w ciągu ostatnich 90 dni.
SELECT nazwisko, imię, wizyty.[numer wizyty], wizyty.[data wizyty]
from pacjenci inner join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
where (date()-[data wizyty])<91
Utwórz kwerendę parametryczną pokazującą wizyty (imię, nazwisko, nr. karty, nr. lekarza, nr. choroby, dni zwolnienia) w wybranym okresie (od daty do daty)
SELECT pacjenci.nazwisko, pacjenci.imię, pacjenci.[nr karty], [numer lekarza], [numer choroby], [dni zwolnienia]
from wizyty inner join pacjenci on pacjenci.[nr ubezpieczenia]=wizyty.[nr ubezpieczenia]
where [data wizyty]>[Podaj datę początkową np: 2000-01-01] and [data wizyty]<[Podaj datę końcową np: 2004-01-01]
Utwórz kwerendę wybierającą pokazującą ilu pacjentów mieszka w konkretnym mieście, ilu z nich ma telefony, ilu nie ma.
SELECT miejscowość, count(miejscowość) as [Liczba pacjentów w miastach], count([nr telefonu]) as [Liczba pacjentów z telefonem], count([nr telefonu] is null) as [Liczba pacjentów bez telefonu]
from pacjenci
group by miejscowość
Dane pacjentów w dwóch kolumnach (<imię, nazwisko>, i <adres>.)
SELECT (imię+" "+nazwisko) as [Imię i nazwisko], (Adres+", "+Miejscowość+" "+Kod) as [Adres zamieszkania]
from pacjenci
Dane zarejestrowanych pacjentów którzy kiedykolwiek odbyli wizytę.
SELECT imię, nazwisko
FROM pacjenci INNER JOIN wizyty ON wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
GROUP BY imię, nazwisko;
Dane zarejestrowanych pacjentów którzy nie odbyli żadnej wizyty.
SELECT imię, nazwisko
FROM pacjenci INNER JOIN wizyty ON wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
where pacjenci.[nr ubezpieczenia] not in (select [nr ubezpieczenia] from wizyty)
GROUP BY imię, nazwisko
Wyświetl inf. o wizytach które odbyły się 7 grudnia 2000 roku
SELECT *
from wizyty
where [data wizyty]=#2000-12-07#
Wyświetl inf. o pacjentach których nazwisko zaczyna się od litery podanej jako parametr
SELECT *
from pacjenci
where nazwisko like [Podaj pierwszą literę (litery) nazwiska] & "*"
Oblicz ile lat maja pacjenci
SELECT nazwisko, imię, year(date())-year([data urodzenia]) as [wiek pacjenta]
from pacjenci
Wyświetl tylko dane kobiet, nie dopisując do tabeli kolumny „Płeć”. Przyjmij że imiona wszystkich kobiet kończą się na literę „A”. (prawa strona).
SELECT nazwisko, imię
from pacjenci
where right(imię,1)="a"
Dane 5 najstarszych pacjentów
SELECT top 5 *
from pacjenci
order by [data urodzenia]
Dane 5 najmłodszych pacjentów
SELECT TOP 5 *
FROM pacjenci
ORDER BY [data urodzenia] DESC;
Pokaż ilu właścicieli mieszka w każdym z miast
SELECT count(*) AS [liczba właścicieli], miasto
FROM właściciel
GROUP BY miasto;
Oblicz ilu pacjentów jest zarejestrowanych w przychodni, który jest najstarszy, jaka jest średnia wieku.
SELECT count(*) AS [liczba pacjentów], (select top 1 nazwisko+" "+imię from pacjenci) as [najstarszy pacjent], avg(year(date())-year([data urodzenia])) AS [średnia wieku]
FROM pacjenci;
Dla wszystkich pacjentów urodzonych przed określonym jako parametr terminem wyświetl imię, nazwisko, adres.
SELECT imię, nazwisko, adres
from pacjenci
where [data urodzenia]<[Podaj datę: np 2004-01-05]
Wyświetl dane pacjentów obchodzących dziś urodziny.
SELECT imię, nazwisko
from pacjenci
where (day(date())=day([data urodzenia]))and(month(date())=month([data urodzenia]))
Pokaż nazwisko, imię, nr. karty pacjentów którzy odbyli wizyty.
SELECT nazwisko, imię, [nr karty]
from pacjenci inner join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
group by nazwisko, imię, [nr karty]
Pokaż nazwiska pacjentów z informacja ile wizyt odbyli.
SELECT nazwisko,count(wizyty.[nr ubezpieczenia]) as [liczba wizyt]
from pacjenci inner join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
group by nazwisko
Wyświetl dane WSZYSTKICH pacjentów i daty wizyt, jeżeli jakieś odbyli.
SELECT nazwisko, imię, adres, wizyty.[data wizyty]
from pacjenci left join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
Wyświetl daty wizyt i nazwiska pacjentów którzy je odbyli.
SELECT wizyty.[data wizyty], nazwisko
from pacjenci inner join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
Skonstruuj kwerendę która dla wybranego (jako parametr nazwiska) pokaże datę wizyty, nazwisko lekarza, dni zwolnienia, numer choroby,
SELECT wizyty.[data wizyty], nazwisko
from pacjenci inner join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
Skonstruuj kwerendę która dla wybranego (jako parametr nazwiska) pokaże datę wizyty, nazwisko lekarza, dni zwolnienia, nazwę choroby, nazwisko lekarza specjalisty (jeżeli jest).
Zbuduj kwerendę pokazującą nazwiska i imiona tych pacjentów którym przyznano w czasie wizyt zwolnienia oraz ilość dni zwolnienia jaka została każdemu z nich przyznana.
SELECT nazwisko, count([dni zwolnienia]) as [Łącznie dni zwolnienia]
from pacjenci inner join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
group by nazwisko
Zbuduj kwerendę pokazującą nazwiska i imiona WSZYSTKICH pacjentów oraz ilość dni zwolnienia jaka została każdemu z nich przyznana.
SELECT nazwisko, imię, count([dni zwolnienia]) as [Łącznie dni zwolnienia]
from pacjenci left join wizyty on wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
group by nazwisko
Pokaż nazwisko, imię, numer karty pacjentów, oraz wartość kolumny „Badania” dla pacjentów którym w bieżącym roku wykonano badania specjalistyczne.
SELECT nazwisko, imię, [nr karty], wizyty.badania
FROM pacjenci INNER JOIN wizyty ON wizyty.[nr ubezpieczenia]=pacjenci.[nr ubezpieczenia]
WHERE year(date())=year(wizyty.[data wizyty])
GROUP BY nazwisko, imię, [nr karty], wizyty.badania;
Jaki procent pacjentów mieszka w każdym z miast?
SELECT Miejscowość, format(count(nazwisko)/(select count(nazwisko) from pacjenci), "0%") as [Procent pacjentów w miastach]
from pacjenci
group by miejscowość
Jaki procent kobiet mieszka w każdym z miast? próbuj rozwiązać to zadanie nie dodając kolumny „Płeć”.
SELECT miejscowość, format(count(nazwisko)/(select count(nazwisko) from pacjenci where pacjenci_1.miejscowość=pacjenci.miejscowość), "0%") as [Procent kobiet w miastach]
from pacjenci as pacjenci_1
where right(imię,1)="a"
group by miejscowość
Pokaż nazwisko i imię dla pacjentów których wiek jest wyższy niż średnia wieku pacjentów +10 lat.
SELECT nazwisko, imię
from pacjenci
where year(date())-year([data urodzenia])>(select avg(year(date())-year([data urodzenia]))+10 from pacjenci)
Pokaż dane pacjentów którzy NIE ODBYLI żadnej wizyty.
SELECT nazwisko, imię
from pacjenci
where [nr ubezpieczenia] not in (select [nr ubezpieczenia] from wizyty)
Oblicz jak często wizyty kończyły się skierowanie do specjalisty, jak często miało to miejsce w wypadku wizyt kobiet, jak często w wypadku wizyt mężczyzn.
Pokaż nazwiska lekarzy, oblicz ile każdy z nich wydał skierowań na badania, ile razy przepisywał leki, ile dni zwolnienia przypisał łącznie.
Pokaż wizyty (numer wizyty, data wizyty, wizyta domowa, numer lekarza) z ostatniego miesiąca dla pacjentów 10 letnich i młodszych.
Stwórz kwerendę w której w kolumnach po kolei znajdą się informacje o liczbie pacjentów w każdym z miast, liczbie kobiet w każdym z miast, oraz liczbie mężczyzn w każdym z miast.
Przyjmij że wszystkie imiona kobiet kończą się na „A”.
Użyj wartości obliczonych w osobno zbudowanych kwerendach.
Przyjmij że wszystkie imiona kobiet kończą się na „A”.
Użyj wartości obliczonych w osobno zbudowanych kwerendach.