Akordy - materiały ćwiczeń zaawansowanych z SQL - e

Transkrypt

Akordy - materiały ćwiczeń zaawansowanych z SQL - e
Michał Głębowski
Informatyka i multimedia
Akordy, str. 1 / 4
1
1
Baza danych – Akorder
Na serwerze baz danych MySQL znajduje się baza danych Akorder przechowująca informacje o pracy w pewnym przedsiębiorstwie
produkcyjnym.
Baza zawiera ok. 30 tabel. Tabele są powiązane relacjami. Poniżej podano zestaw zapytań, które należy wykonać, a następnie spisać
wyniki do kolumny Wynik.
Tabela Akord przechowuje informacje o czynnościach akordowych.
nr
Zadanie
Kwerenda
Tabela Akord, filtrowanie
1
Podaj liczbę rekordów w tabeli Akord...
2
… dla czynności wykonanych w 2012 roku. Nazwij wynik:
bieżące.
3
… dla czynności wykonanych w czerwcu.
4
… dla czynności których czas wynosił dokładnie 8 godzin
(08:00:00).
5
… dla czynności których czas jest równy lub mniejszy niż jedna
godzina.
6
...dla czynności wykonanych na trzeciej zmianie.
7
…dla czynności wykonanych przez zespół 5 na drugiej zmianie.
8
…dla czynności, których ilość jest większa niż 0 i mniejsza od 10.
9
...dla których wykonana ilość czynności jest większa niż norma.
10
…dla których iloczyn ceny i ilości przekracza 100 (zł).
11
...dla których ilość wykonanej czynności jest większa niż 10
tysięcy a czas mniejszy od dwóch godzin.
12
...dla których czas jest mniejszy lub równy minutę.
13
...dla których czas jest większy niż 8 godzin.
14
...dla których liczba sekund (końcówka czasu) jest różna od 0.
15
Podaj sumę iloczynu ceny razy ilość dla wszystkich wierszy
zaokrągloną do liczby całkowitej (ROUND). Nazwij wynik: Koszt.
16
Podaj czy suma iloczynu ceny razy ilość dla wierszy dla zespołu 1
przekracza wartość 200 tysięcy.
17
Podaj jakie różnych zespoły występują w tabeli Akord.
18
Podaj ile różnych zespołów występuje w tabeli Akord.
19
Podaj maksymalną ilość wykonanych czynności w pojedynczym
wierszu tabeli Akord.
20
Podaj ile rekordów ma tę maksymalną ilość czynności.
21
Podaj ile wynosi maksymalny iloczyn ilości i ceny.
22
Podaj ile rekordów posiada ten maks. iloczyn ilości i ceny.
23
Podaj numer czynności, dla pierwszego rekordu, który posiada
ten maksymalny iloczyn ilości i ceny.
24
Ilość różnych pracowników występuje w tabeli Akord?
25
Ile rekordów w tabeli czynność ma puste pole podzial?
26
Ile rekordów w tabeli czynność ma pole symbol zaczynające się
na literę N?
27
Ile rekordów ma nazwę, w której występuje wyraz 'papier'?
28
Ile rekordów ma pole Jednostkę równą 1, 3 lub 5?
29
Ile rekordów ma nazwę krótszą niż 20 znaków?
30
Podaj największe ID wśród rekordów, dla których nazwa ma
długość 32 znaki.
Tabela Czynność, filtrowanie, funkcje, symbole wieloznaczne
Wynik
Michał Głębowski
Informatyka i multimedia
Akordy, str. 2 / 4
1
nr
Zadanie
31
Ile rekordów jest w tabeli pracownik?
32
Ilu pracowników jest mężczyznami (pole plec)
33
Ilu pracownikom imię nie kończy się na literę a?
34
Ilu pracowników urodziło się w roku 1981?
35
Ile kobiet jest pracownikami zmianowymi (pole zmianowy)?
36
Ilu mężczyzn ma wpisane drugie imię (imie2)?
37
Ilu pracownikom nazwisko kończy się na 'ski' lub 'ska'?
38
Ile różnych działów występuje w tabeli pracownik?
39
Jakie jest najdłuższe nazwisko w tabeli pracownik?
40
Jaki jest pesel pracownika, który ma najdłuższe nazwisko?
41
Jakie jest najkrótsze nazwisko pracownika?
42
Wyświetl rekordy wszystkich pracowników, których długość
nazwiska wynosi 3, posortuj wg długości imienia, ogranicz do 10.
Podaj id pierwszego rekordu.
43
Podaj długość najdłuższego imienia i nazwiska razem
44
Wyświetl rekordy pracowników z zespołu 3, działu 7, których
nazwisko zaczyna się na 'H', posortuj wg id malejąco, podaj
pierwsze id.
45
Pokaż wszystkich pracowników, którzy mają 40 lat, posortuj od
najstarszych. Podaj nrkosztowy dolnego.
46
Pokaż imiona, nazwiska i wiek (jako „wiek”) pracowników, którzy
urodzili się 14-go maja. Podaj ich ilość w wyniku.
nr
Zadanie
Kwerenda
Wynik
Tabela Pracownik, filtrowanie, sortowanie, ograniczanie, funkcje, symbole wieloznaczne
Kwerenda
Wynik
Tabela Akord, filtrowanie, sortowanie, ograniczanie
47
Podaj rekordy z tabeli Akord..., dla których nr pracownika jest
mniejszy niż 10, posortuj wg daty od najświeższej ogranicz
wyniki do 10. Wpisz jako wynik: dolne (ostatnie) id.
48
Podaj rekordy z tabeli Akord..., dla których ilość jest większa niż
80 tys., posortuj wg daty ogranicz wyniki do 3. Wpisz jako wynik
dolne (ostatni) numer pracownika.
nr
Zadanie
Kwerenda
Tabela Akord, filtrowanie, sortowanie, ograniczanie, łączenie tabel!
49
Pokaż wszystkie rekordy z tabeli Akord, dołącz do każdego z
nich odpowiadający rekord z tabeli Pracownik.
50
Podaj imiona i nazwiska pracowników z zespołu 1, posortuj
wyniki wg nazwiska. W wyniku wpisz ich ilość.
51
Pokaż imiona, nazwiska, numery pesel i ilości wykonanych
czynności, dla 10 największych ilości czynności z tabeli Akord.
Podaj pesel z dolnego rekordu.
52
Podaj datę czynności oraz nazwisko, imię pracownika, ilość i
normę, dla czynności, w których ilość przekroczyła normę ponad
15 razy, posortuj od wartości najlepszych. Podaj normę dla
dolnego wiersza.
53
Pokaż pierwszych 10 rekordów z tabeli Akord, dołącz
odpowiednie rekordy z tabeli czynność. Podaj w wyniku symbol
dolnej czynności.
54
Pokaż datę wykonania czynności, jej nazwę i podział, ilość, czas,
imię, nazwisko i pesel pracownika. Posortuj malejąco wg ilości.
Podaj w wyniku pesel dolnego rekordu.
55
Pokaż wszystkie dane z tabeli Dział. Podaj liczbę rekordów.
56
Pokaż wszystkie dane z tabeli Zespół. Podaj liczbę rekordów.
57
Pokaż z wszystkich pracowników, pola: nazwisko, imię, nazwę
działu (jako „dział”), nazwę zespołu (jako „zespół”). Posortuj wg
nazwiska i imienia. Wpisz nazwę działu dla ostatniego rekordu.
Wynik
Michał Głębowski
Informatyka i multimedia
Akordy, str. 3 / 4
1
nr
Zadanie
58
Podaj datę, czas oraz nazwisko 10 najnowszych czynności z
tabeli Akord. Podaj nazwisko z dolnego rekordu.
59
Podaj ilość rekordów w tabeli Akord, dla których imię pracownika
jest 'Elżbieta'. Nazwij pole 'Ela'.
60
Podaj jako Test, czy suma ilości wszystkich czynności z tabeli
Akord dla pracowników o imieniu 'Anna' jest większa niż milion.
nr
Zadanie
Grupowanie
61
Pokaż numer pracownika (pole pracownik) oraz ilość jego
rekordów w tabeli Akord. Nazwij pole z ilością: 'rekordów'.
Posortuj wg ilości rekordów malejąco. Podaj nr pracownika z
pierwszego wiersza.
62
Podaj ile różne czasy czynności z tabeli Akord i ich liczbę
wystąpień (jako 'licznik'). W wyniku podaj liczbę różnych czasów.
63
Podaj 10 czynności z tabeli Akord wykonywanych najczęściej i
ich ilości, jako 'licznik'. Posortuj od największej ilości, podaj jej
num.
64
Podaj numery pracowników i kwoty z tabeli Akord, którzy
najwięcej zarobili (iloczyn ilość * cena). Posortuj od najwyższych
kwot, nazwij pole 'kwota'. Podaj numer pierwszego pracownika.
65
Wykonaj kwerendę j/w, ogranicz liczbę wyników do 5
najwyższych kwot, oraz tylko do prac z roku 2011. Podaj numer
pierwszego pracownika.
66
Wykonaj kwerendę j/w, zamiast numeru pracownika, podaj
nazwisko oraz imię pracownika. Podaj w wyniku imię pierwszego
pracownika.
67
Podaj sumaryczne zarobki (ilość razy cena) poszczególnych
zespołów w roku 2011. Nazwij pole z kwotą: 'suma'. W wyniku
podaj ostatnią kwotę zaokrągloną do całkowitych.
68
Wykonaj kwerendę j/w, zamiast numerów zespołów, podaj ich
nazwy (nazwij pole: zespół).
69
Podaj numery działów i pracujące w nich ilości pracowników.
Posortuj od najwyższych ilości, w wyniku podaj numer działu z
największą liczbą pracowników
70
Wykonaj kwerendę j/w, zamiast numerów działów podaj ich
nazwy. Podaj w wyniku liczbę pracowników w z pierwszego
rekordu.
71
Podaj ile czynności (z tabeli Czynnosc) ma przypisane
poszczególne jednostki, posortuj wg jednostek od największej
liczby czynności.
72
Wykonaj kwerendę j/w, zamiast liczb, podaj nazwy jednostek.
W wyniku podaj liczbę czynności z pierwszego rekordu.
73
Utwórz kwerendę pokazującą ilości godzin (jako 'godzin')
przepracowane przez poszczególnych pracowników, posortuj od
najwyższych wartości. Podaj nazwiska i imiona pracowników,
zamiast numerów. W wyniku podaj imię z pierwszego rekordu.
74
Wykonaj kwerendę j/w, ogranicz wyniki do czynności
przepracowanych w roku 2012. Podaj imię z pierwszego rekordu.
75
W tabeli zmiana przechowywane są mnożniki o które należy
powiększyć kwoty z pracy aby uzyskać rzeczywistą cenę
czynności. Np. dla zmiany 2 kwota musi być powiększona o 0,12.
Podaj sumę (ilość*cena) wszystkich czynności akordowych bez
uwzględnienia tego mnożnika i z. Jako wynik podaj o ile różnią
się obie wartości
Kwerenda
Wynik
Kwerenda
Wynik
Michał Głębowski
Informatyka i multimedia
Akordy, str. 4 / 4
1
2
Powtórzenie informacji
Wybór rekordu z tabeli Średnia, gdzie pole wartość jest najwyższe:
SELECT * FROM srednia ORDER BY wartosc DESC LIMIT 1;
Podaj ile czynności (z tabeli Czynnosc) ma przypisane poszczególne jednostki, posortuj wg jednostek od
najmniejszej liczby czynności.
SELECT Jednostka, COUNT(*)
FROM Czynnosc
GROUP BY Jednostka ORDER BY COUNT(*) DESC;
Podawanie ilości rekordów spełniających warunek:
SELECT COUNT(*) FROM …. WHERE ….
Wyszukaj wszystkie rekordy z tabeli Pracownik gdzie imiona kończą się na -ek:
SELECT * FROM Pracownik WHERE imie LIKE '%ek';
Wyszukaj wszystkie rekordy z tabeli Państwo gdzie nazwa zaczyna się na K lub na M:
SELECT *
FROM Panstwo
WHERE nazwa LIKE 'K%' OR nazwa LIKE 'M%';
Wyszukaj wszystkie rekordy, dla których pole F jest NULL:
SELECT *
FROM Table
WHERE F IS NULL;
Pokaż imiona, nazwiska, numery pesel i ilości wykonanych czynności, dla 3 największych ilości czynności z tabeli
Akord. Podaj pesel z dolnego rekordu.
SELECT imie, nazwisko, pesel, ilosc
FROM Akord
LEFT JOIN Pracownik ON Akord.pracownik = Pracownik.ID
ORDER BY ilosc DESC LIMIT 3;
Podaj ilość rekordów w tabeli Akord, dla których imię pracownika jest 'Wanda'. Nazwij pole 'W'.
SELECT COUNT(*) AS W
FROM Akord
LEFT JOIN Pracownik ON Pracownik.ID = Pracownik
WHERE imie='Wanda';

Podobne dokumenty