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';