Lista zadań nr 1. 4. Wyświetlić imię i nazwisko dla każdego pracownika z departamentu DEP T NO o numerze 000.



Podobne dokumenty
Lista zadań nr Wyświetlić nazwisko i imiȩ LAST NAME, F IRST NAME dla każdego pracownika.

1.06 Wyświetl dane pracowników, którzy pracują w departamencie o nr (Id) różnym od 3.

Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE)

Lista zadań nr 1. Bazy danych laboratorium. dr inż. Grzegorz Bazydło, dr inż. Jacek Tkacz

3. Podzapytania, łączenie tabel i zapytań

Zadania z SQLa (MS SQL Server)

Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id;

Autor: Joanna Karwowska

Autor: Joanna Karwowska

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Struktura bazy danych

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

PODZAPYTANIE (SUBSELECT)

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Podstawy SQL. 1. Wyświetl całość informacji z relacji ZESPOLY. 2. Wyświetl całość informacji z relacji PRACOWNICY

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Technologie baz danych

SQL (ang. Structured Query Language)

Grupowanie i funkcje agregacji

Podstawowe zapytania SELECT (na jednej tabeli)

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup

Laboratorium Bazy danych SQL 2

Grupowanie i funkcje agregujące

Wykład 6. SQL praca z tabelami 3

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

SQL praca z tabelami 4. Wykład 7

Ćwiczenie zapytań języka bazy danych PostgreSQL

Wykład 5. SQL praca z tabelami 2

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Bazy danych SQL Server 2005

Język SQL. Rozdział 2. Proste zapytania

Laboratorium Bazy danych SQL 3 1

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

Podstawy języka SQL cz. 2

Komunikacja z bazą danych psql

Bazy danych 6. Podzapytania i grupowanie. P. F. Góra

Język SQL, zajęcia nr 2

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

ACESS- zadania z wykorzystaniem poleceń SQL

Relacyjne bazy danych. Podstawy SQL

Komputerowe systemy zarządzania. Część I: relacyjna baza danych

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy (wszystkie atrybuty)

Zapytania do bazy danych

Kwerendy (zapytania) wybierające

Zagadnienia podstawowe

SQL - JĘZYK ZAPYTAŃ LABORATORIUM

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

LAB 3 (część 1 Projektu)

Systemy GIS Tworzenie zapytań w bazach danych

Paweł Rajba

MS Access 2010 instrukcja część 2. Ćwiczenie 3.

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

Wykład 05 Bazy danych

Ref. 7 - Język SQL - polecenia DDL i DML

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

1. Przykładowe pytania z SQL

SQL - Structured Query Language. strukturalny język zapytań

Relacyjne bazy danych. Podstawy SQL

Kurs. Podstawy MySQL

Wprowadzenie do baz danych

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Oracle PL/SQL. Paweł Rajba.

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego

Autor: Joanna Karwowska

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem.

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

MsAccess ćwiczenie nr 3 Kwerendy wybierające cd oraz kwerendy funkcjonalne

Funkcje agregujące i ciąg dalszy SQL

SIECI KOMPUTEROWE I BAZY DANYCH

Bazy danych 2. Wykład 4 Structured Query Language (SQL)

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

Wykład 4. SQL praca z tabelami 1

Bazy danych 8. Podzapytania i grupowanie. P. F. Góra

Bazy danych. dr inż. Arkadiusz Mirakowski

Wykład 8. SQL praca z tabelami 5


Zbiór pytań nr 5. 2 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu

Zadanie 2 Korzystając z funkcji PMT oblicz miesięczną ratę i całkowity koszt pożyczki dla podanych niżej danych. Raty miesięczne/roczn e

1. Pobierz plik z diagramem związków encji schematu Uczelnia (MS Visio) oraz plik ze skryptem tworzącym tabele i wypełniający je danymi, z zasobu:

QUERY język zapytań do tworzenia raportów w AS/400

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Widok Connections po utworzeniu połączenia. Obszar roboczy

Tabele przestawne tabelą przestawną. Sprzedawcy, Kwartały, Wartości. Dane/Raport tabeli przestawnej i wykresu przestawnego.

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne.

Przestrzenne bazy danych Podstawy języka SQL

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Transkrypt:

Lista zadań nr 1 Zapytania SQL, SELECT z klauzulą WHERE i ORDER BY 1. Wyświetlić zawartość tablicy z pracownikami (EMPLOYEE). 2. Wyświetlić nazwisko i imię LAST NAME, F IRST NAME dla każdego pracownika. 3. Wyświetlić imię i nazwisko F ULL NAME oraz zarobki SALARY dla każdego pracownika. 4. Wyświetlić imię i nazwisko dla każdego pracownika z departamentu DEP T NO o numerze 000. 5. Wyświetlić imię, nazwisko i kraj JOB COU N T RY dla każdego pracownika, dla którego kraj jest inny niż USA. 6. Wyświetlić imię, nazwisko i datę zatrudnienia dla każdego pracownika, który został zatrudniony po 15 01 1990 (uwaga : sprawdzić w jaki sposób jest traktowana data na danym komputerze i w danej bazie). 7. Wyświetlić listę pracowników, których zarobki mieszczą się pomiędzy 50 000 i 10 000. Zadanie wykonać dwiema metodami: stosując BETWEEN oraz stosując operatory relacji i AND. 8. Wyświetlić listę pracowników uporządkowaną wg nazwisk i imion. 9. Wyświetlić listę pracowników uporządkowaną zarobkami (raz malejąco a raz rosnąco). 10. Wyświetlić listę pracowników uporządkowaną datą przyjęcia do pracy (raz malejąco a raz rosnąco). 11. Wyświetlić listę pracowników działu 000 uporządkowaną wg zarobków i dat przyjęcia do pracy w porządku malejącym. 12. Wyświetlić listę pracowników przyjętych do pracy pomiędzy 01-01-1900 a 31-12-1992. 13. Wyświetlić listę pracowników działów 000, 100, 115, dla których zarobki wynoszą co najmniej 100 000. Zadanie wykonać dwoma metodami: stosując IN oraz operatory relacji i OR. 14. Odwrócić warunek w zadaniu 13. Zadanie wykonać na dwa sposoby: stosując operator NOT oraz stosując prawa rachunku zdań. 15. Wyświetlić zarobki dla pracowników zatrudnionych w USA po 01-01-1994. Nie uwzględniać pracowników działu 000. 1

Lista zadań nr 2 Zapytania o określone wiersze, grupowanie, funkcje agregujące 1. Wyświetlić ilość pracowników w tabeli employee. 2. Jakie imiona (różne) pracowników są zapisane w tej tabeli? 3. Ile jest różnych imion rozpoczynających się na literę R? 4. Ile jest osób bez nr telefonu wewnętrznego? P HONE EXT 5. Ile jest osób zatrudnionych jako manager, którzy zarabiają powyżej 60 000? JOB CODE 6. Wyświetlić ilość krajów, w których są zatrudnieni pracownicy. 7. Wyświetlić nazwiska i zarobki pracowników zatrudnionych w USA. 8. Wyświetlić sumę zarobków pracowników z USA. 9. Wyświetlić zestawienie pokazujące sumy zarobków w poszczególnych krajach. 10. Wyświetlić powyższe zestawienie, ale tylko dla krajów, w których zatrudnionych jest co najmniej dwóch pracowników. 11. Ile różnych kwot jest wypłacanych pracownikom w poszczególnych krajach? 12. Jakie imiona pracowników się powtarzają i ile razy? (zrobić zestawienie) 13. Czy są pracownicy zatrudnieni w tym samym kraju na tym samym stanowisku? 14. Zrobić zestawienie zawierające numery działów, maksymalne i minimalne zarobki w dziale, ale uwzględnić tylko pracowników z USA i tylko te działy, w których minimalne zarobki osób z USA wynoszą co najmniej 40 000. 15. Zrobić zestawienie: imię, nazwisko, rok zatrudnienia i miesięczne zarobki (SALARY /12) pracowników (użyć funkcji EXTRACT()). 16. Jakie osoby zostały zatrudnione w grudniu dowolnego roku? 17. Wyświetlić wszystkich pracowników, którzy zostali zatrudnieni 1-go dnia dowolnego miesiąca w 1993 roku. 18. Czy są osoby zatrudnione w piątek? (Użyć opcji WEEK DAY w funkcji EXTRACT). 19. Wyświetlić w jednej kolumnie nazwisko, imię i zarobki pracownika. Należy użyć funkcji CAST(). 20. Wyświetlić wszystkie osoby zatrudnione na stanowisku Mngr (JOB CODE) przy czym zakładamy, że nie wiemy, które litery w tym słowie są małe, a które duże. Należy użyć funkcji UPPER() lub LOWER(). 2

Lista zadań nr 3 Grupowanie, podzapytania 1. Oblicz średnie, minimalne i maksymalne zarobki (SALARY ) dla pracowników (EMPLOYEE). 2. Znajdź pracownika o najwyższych (lub najniższych) zarobkach. 3. Wyświetl dane pracowników zatrudnionych najdłużej oraz tych zatrudnionych najkrócej. 4. Znajdź wszystkich pracowników pracujących w dziale, w którym pracuje Robert Nelson (F ULL NAME = Nelson, Robert ). 5. Oblicz średnie zarobki pracowników w poszczególnych działach (departamentach). 6. Znajdź wszystkich, dla których zarobki są wyższe niż średnia. 7. Znajdź wszystkich z działu 623, dla których pensja jest wyższa niż średnia w danym dziale. 8. Znajdź działy w których średnia pensja jest wyższa od 100000, uporządkuj działy wg średniej pensji. 9. Znajdź działy w których średnia pensja jest wyższa od 100000 ale tylko dla pracowników z USA. 10. Znajdź wszystkich pracowników, dla których pensja jest najniższa (najwyższa) w danym dziale. 11. Wyświetl numery działów, w których jest zatrudnionych więcej niż 4 pracowników. 12. Znajdź działy, w których więcej niż 100 000 zarabia przynajmniej jedna (dokładnie jedna) osoba z danego działu. Zadanie wykonać na dwa sposoby: użyć EXISTS (SINGULAR) lub funkcji COUNT(). 13. Wyświetl nazwy i numery działów, w których nie pracuje nikt z USA. 14. Wyświetl nazwy i numery działów (tabela DEP ART MENT ), w których szef działu (MNGR NO) zarabia powyżej 90 000. 3

Lista zadań nr 4 Łączenie tablic. 1. Zrobić zestawienie pobierające dane: FIRST NAME, LAST NAME z tablicy EMPLOYEE oraz DEPARTMENT z tablicy DEPARTMENT (połączenie po DEPT NO). 2. To samo co w 1, ale tylko dla pracowników z USA (JOB COUNTRY). 3. Znajdź wszystkich pracowników pracujących w dziale, w którym pracuje Robert Nelson (FULL NAME = Nelson, Robert ) ale za pomocą łączenia tablic (należy użyć samozłączenia). 4. Wyświetlić wszystkie działy (DEPARTMENT), dla każdego działu zrobić zestawienie typu: liczba pracowników, zarobki (średnie, łączne, minimalne, maksymalne - tablica EMPLOYEE). 5. Wyświetlić nazwę projektu (PROJ NAME, tablica PROJECT) oraz nazwisko szefa projektu (FULL NAME, tablica EMPLOYEE) - połączenie po EM- PLOYEE.EMP NO i PROJECT.TEAM LEADER 6. Zrobić zadanie 5 uwzględniając projekty, które nie mają przypisanego szefa (LEFT OUTER JOIN). 7. Dla każdego pracownika zrobić zestawienie: zarobki pracownika, średnia, maksymalne i minimalne zarobki w dziale danego pracownika. 8. Zrobić zestawienie pokazujące procentowy udział zarobków danego pracownika w kosztach (sumie zarobków) działu danego pracownika. 9. Z zadania 8 wybrać pracownika o najwyższych kosztach. 10. Dla każdego działu wyznacz różnicę pomiędzy jego budżetem a sumą zarobków pracowników tego działu. 11. Dla każdego działu policz, z ilu różnych krajów są jego pracownicy. 12. Dla każdego działu wyznacz łączne zarobki pracowników danego działu zatrudnionych jako manager (JOB CODE= Mngr ). 13. Dla każdego działu zrób zestawienie pokazujące, ile było osób zatrudnionych w poszczególnych latach. 14. Dla każdego pracownika policz, ile osób zarabia od niego więcej a) w całej tabeli employee; b) w dziale danego pracownika. 4

Lista zadań nr 5 - łączenie tablic i grupowanie 1. Znaleźć działy w których suma zarobków pracowników nie przekracza budżetu działu (DEPARTMENT.BUDGET). 2. Znaleźć wszystkie działy, które nie zostały wyświetlone w 1. 3. Znaleźć dział (spośród wszystkich znalezionych w 1), dla którego różnica pomiędzy budżetem danego działu a sumą zarobków pracowników danego działu jest możliwie najmniejsza. 4. Co będzie gdy w 3. usuniemy warunek, że suma zarobków nie przekracza budżetu? 5. Czy jest dział w którym suma zarobków jest dokładnie równa budżetowi? 6. Znaleźć pięć najlepiej zarabiających osób w bazie? 7. Spośród pięciu osób, które pracują najdłużej znaleźć tę, która zarabia najmniej. 8. Znaleźć kraj, w którym pracuje najwięcej osób, a następnie spośród wszystkich osób pracujących w wybranym kraju (krajach) wybrać te osoby, które zarabiają najwięcej w swoich działach. 5

Lista zadań nr 6 1. Wybrać pracowników, których nazwiska rozpoczynają się na literę R. 2. Wybrać osoby których nazwiska maja dokładnie 6 znaków. 3. Sprawdzić, czy są pracownicy którzy maja nazwiska dwuczłonowe (z - lub ). 4. Znajdź pracownika pracującego najdłużej. 5. Znajdź wszystkie kraje, które mają w nazwie waluty słowo Dollar. 6. Znajdź pracowników, którzy nie mają przypisane numeru telefony (PHO- NE EXT). 7. Znaleźć nazwę departamentu, który nie ma już pod sobą żadnego departamentu (DEPT NO - numer, HEAD DEPT - departament nadrzędny). 8. Policzyć stosunek zarobków osób z USA do wszystkich pozostałych osób. Czy da się to zrobić bez tworzenia perspektyw? 9. Wybrać dział w którym pracuje najwięcej osób. 10. Wybrać dział, w którym średnie zarobki są najwyższe. 11. Wyznaczyć szefa projektu o maksymalnych dochodach (tablice PROJECT i EMPLOYEE). 12. Sprawdzić, czy jest szef działu w którym istnieje pracownik, który zarabia więcej niż szef działu (DEPARTMENT.MNGR NO). 13. Wyznaczyć stosunek zarobków szefa działu do zarobków pozostałych pracowników dla wszystkich działów. 14. Czy jest departament, w którym łączne zarobki przekraczają budżet. 15. Wyświetlić nazwy departamentów (wszystkich) i nazwiska ich szefów. 6

Lista zadań nr 7 Wykonać poniższe polecenia nie używając podzapytań. 1. Wyświetlić nazwy projektów oraz imię i nazwisko pracowników pracujących nad danym projektem. (tablice : PROJECT, EMPLOYEE PROJECT, EM- PLOYEE) 2. Wyświetlić imię i nazwisko szefa projektu o nazwie DigiPizza. ( tablice : PRO- JECT, EMPLOYEE) 3. Wyświetlić imię i nazwisko pracowników zatrudnionych w dziale, w którym zatrudniony jest szef projektu o nazwie DigiPizza. ( tablice : PROJECT, EM- PLOYEE) 4. Wyświetlić nazwę działów, ich budżet, nazwę działu nadrzędnego oraz imię i nazwisko menadżera. (uwaga na NULL!) ( tablice : DEPARTMENT, EM- PLOYEE) 5. Wyświetlić nazwę działu oraz liczbę działów mu podlegających. Nie uwzględniać działów, dla których ta liczba jest równa zero. ( tablica : DEPARTMENT) 6. Wyświelić imię i nazwisko pracowników, nazwę stanowiska jakie zajmują oraz podać o ile mogą maksymalnie wzrosnąć ich zarobki. ( tablice : JOB, EM- PLOYEE) 7. Wyświelić historię zarobków pracownika o imieniu i nazwisku Pete Fisher. ( tablice : SALARY HISTORY, EMPLOYEE) 8. Zrobić zestawienie: kraj, ilość pracowników o danym tytule (JOB TITLE) oraz średnia ich zarobków. ( tablice : JOB, EMPLOYEE) 9. Zrobić zestawienie: rok, nazwa projektu, nazwa działu prowadzącego oraz projektowany budżet na ten projekt. ( tablice : PROJ DEPT BUDGET, DE- PARTMENT, PROJECT) 10. Dotyczy zad 8. Ile w sumie planowano wydać na poszczególne projekty w kolejnych latach? 11. Znaleźć wszystkie zrealizowane (shipped) zamówienia za które nie zapłacono. Wypisać zaległe kwoty uwzględniając rabaty (pole DISCOUNT) ( tablice : SALES, CUSTOMER) 7

Lista zadań nr 8 Przy wykonywaniu poleceń należy pamiętać, że tabele muszą posiadać unikalne nazwy. Aby zapewnić unikalność można stosować np. nazwy: pierwsza litera imienia+ pierwsza litera nazwiska+dzień urodzenia+właściwa nazwa. 1. Utworzyć tabelę wydzial zawierającą następujące pola: -wydzial nr char(3) -nazwa varchar(25) -budzet numeric(15,2) -lokalizacja varchar(15) Nałożyć następujące ograniczenia: a) pole wydzial nr jest kluczem głównym, b) pole nazwa musi być zawsze wypełnione, c) pole budżet musi zawierać liczbę, domyślnie 50000, 2. Skopiować do tabeli wydzial dane z odpowiednich kolumn tabeli department. 3. Utworzyc tabelę pracownik zawierającą następujące pola: -pracownik nr smallint -imie varchar(15) -nazwisko varchar(20) -wydzial nr char(3) -data zatrudnienia date -zarobki numeric(15,2) -kraj varchar(15) Nałożyć następujące ograniczenia: a) pole pracownik nr jest kluczem glownym, musi zawierać liczbę nieujemną, b) pola imie, nazwisko, kraj musi być zawsze wypełnione, c) pole wydzial nr jest kluczem obcym odwołującym się do pola wydzial nr tabeli wydzial, d) pole zarobki musi zawierać liczbę, domyślnie 80000, e) pole data zatrudnienie musi być zawsze wypełnione, domyslnie - aktualna data (należy użyć funcji CURRENT DATE). 4. Skopiować do tabeli pracownik dane z odpowiednich kolumn tabeli employee 5. Wstawić nowy wiersz do tabeli pracownik. Wprowadzić numer (unikalny), imię, nazwisko, istniejący nr wydziału, oraz kraj. Sprawdzić jak wygląda ten wiersz po zapisaniu do bazy. 6. Podwyższyć o 10% zarobki wszystkim osobom pracującym w dziale Research and Development. 8

7. Wykasować z tabeli wydzial wydział Marketing? Czy można to zrobić przy pomocy jednego polecenia? 8. Wykasować wszystkich pracowników, których nazwisko, rozpoczyna się na literę P. 9. W tabeli pracownik stworzyć nową kolumnę potracenia typu numeric(15,2) z domyślną wartością 0. Następnie dla wszystkich pracowników z USA wpisać wartość 10000, dla pozostałych 5000. 10. W tabeli pracownik stworzyć nową kolumnę zarobki netto, w której automatycznie pojawiać się będzie różnica zarobków i potrąceń. 11. Usunąć kolumny potracenia, zarobki netto z tabeli pracownik. Jaka powinna być kolejność usuwania? 12. Stworzyć rolę kadrowy o uprawnieniach tylko do tabel wydzial (odczyt) i pracownik (odczyt, wstawianie i modyfikacja). 13. Stworzyć nowego użytkownika, podając jako login swoje nazwisko i pierwszą literę imienia (za pomocą narzędzia User Manager w programie IBExpert). Przypisać mu rolę kadrowy. Następnie zalogować się do bazy jako ten użytkownik i sprawdzić czy można edytować poszczególne dane. 9