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



Podobne dokumenty
Bazy danych SQL Server 2005

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

Zadania z SQLa (MS SQL Server)

Autor: Joanna Karwowska

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

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

Podstawowe zapytania SELECT (na jednej tabeli)

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

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

Administracja i programowanie pod Microsoft SQL Server 2000

Współczesne systemy baz danych

Autor: Joanna Karwowska

Współczesne systemy baz danych

Plan. Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących. Grupowanie danych - klauzula GROUP BY

Laboratorium Bazy danych SQL 2

SQL (ang. Structured Query Language)

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Ćwiczenie zapytań języka bazy danych PostgreSQL

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

Język SQL. Rozdział 2. Proste zapytania

NORTHWIND. Anonco.pl. ćwiczenia praktyczne. KiK s Tutorials. NORTHWIND dwiczenia praktyczne. ANONCO.PL/SQL SQLSERVERDLAOPORNYCH.WORDPRESS.

Wykład 5. SQL praca z tabelami 2

Wykład 6. SQL praca z tabelami 3

Bazy danych 6. SQL funkcje daty i czasu, zmienne tymczasowe, aliasy

Wprowadzenie do SQL TEMAT 3 - Zadania dodatkowe

PODSTAWOWE I ZŁOŻONE POLECENIA SQL W IMPLEMENTACJACH MS SQL SERVER 2008

Wprowadzenie do języka SQL

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

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

Wprowadzenie do baz danych

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

Relacyjne bazy danych. Podstawy SQL

Funkcje. Rozdział 3a Funkcje wierszowe. Funkcje znakowe (1) Funkcje wierszowe

Grupowanie danych klauzula GROUP BY

Systemy GIS Tworzenie zapytań w bazach danych

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Język SQL. Rozdział 3. Funkcje wierszowe

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

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Grupowanie i funkcje agregujące

Przydatne sztuczki - sql. Na przykładzie postgres a.

Podstawy języka SQL cz. 2

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

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

SQL praca z tabelami 4. Wykład 7

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

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

PL/SQL. Funkcje wbudowane

Przestrzenne bazy danych Podstawy języka SQL

Zapytania INSERT. Forma_platnosci. INSERT INTO forma_platnosci VALUES ('1', 'Gotówka'); INSERT INTO forma_platnosci VALUES ('2', 'Przelew odroczony');

Funkcje agregujące i ciąg dalszy SQL

Podyplomowe Studia Systemy informatyczne w logistyce

Kwerendy (zapytania) wybierające

3. Podzapytania, łączenie tabel i zapytań

Bazy Danych. SQL Podstawy języka II: zapytania. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Laboratorium Baz Danych. Zapytania SQL (część 3)

Relacyjne bazy danych. Podstawy SQL

Struktura bazy danych

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

BAZY DANYCH JĘZYK ZAPYTAŃ BAZ DANYCH SQL. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

LAB 3 (część 1 Projektu)

Widok Connections po utworzeniu połączenia. Obszar roboczy

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

PODZAPYTANIE (SUBSELECT)

ACESS- zadania z wykorzystaniem poleceń SQL

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

Autor: Joanna Karwowska

PL/SQL. Część 1 Oracle SQL. Piotr Medoń

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

Język SQL w Delphi. 1. Kwerendy Przygotowanie do ćwiczenia Komenda SELECT

Wykład XII. optymalizacja w relacyjnych bazach danych

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

Bazy danych. Wykład V Kwerendy. Copyrights by Arkadiusz Rzucidło 1

Kurs. Podstawy MySQL

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

Wykład 05 Bazy danych

Marek Rakowski Zdanie SELECT wybieranie danych z wielu tabel Strona 1 z 6

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

E.14 Bazy Danych cz. 12 SQL Wybrane funkcje serwera MySQL

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

10. Wybierz nazwy produktów oraz inf. o stanie magazynu dla produktów dostarczanych przez firmę.tokyo Traders.

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

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

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

Zagadnienia podstawowe

SQL. SQL jest językiem uniwersalnym, "zrozumiałym" przez wszystkie systemy RDBMS (Relational Data Base Management System)

Ściągawka z funkcji i właściwości systemowych VBA. Opis działania i parametrów. Nazwa funkcji. Składnia zwracanej wartości

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

Funkcje. Rozdział 3. Funkcje. Funkcje znakowe (1) Funkcje wierszowe

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

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

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup

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

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

Zapytania do bazy danych

Zbiór zadań z SQLa z elementami T-SQLa. (Wersja robocza z dnia r.) (Zgłaszanie usterek Robert.Fidytek@inf.ug.edu.pl)

Laboratorium Bazy danych SQL 3 1

Pobieranie danych, czyli instrukcja SELECT

Transkrypt:

Ćwiczenia MS Access/SQL I. Zadania podstawowe 1. Wyświetlanie zawartości tabeli a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy (wszystkie atrybuty). ; b) Polecenie: Wyświetl dane (wszystkie atrybuty) wszystkich klientów. FROM Klienci; 2. Sortowanie ORDER a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy (wszystkie atrybuty) posortowane alfabetycznie według nazwiska, a następnie według imienia. ORDER BY Nazwisko, Imię; b) Polecenie: Wyświetl wszystkie rekordy z tabeli Produkty (wszystkie atrybuty) posortowane malejąco według ceny jednostkowej. FROM Produkty ORDER BY CenaJednostkowa DESC; 3. Wyświetlanie poszczególnych atrybutów danej tabeli a) Polecenie: Wyświetl ID zamówień, daty zamówień, miasta i kraje odbiorców z tabeli Zamówienia. SELECT IDZamówienia, DataZamówienia, MiastoOdbiorcy, KrajOdbiorcy FROM Zamówienia; b) Polecenie: Wyświetl imiona, nazwiska i miasta zamieszkania poszczególnych pracowników, posortowane alfabetycznie według nazwiska, a następnie imienia i nazwy miasta. SELECT Imię, Nazwisko, Miasto ORDER BY Nazwisko, Imię, Miasto; 4. Wyświetlanie części rekordów tabeli a) Polecenie: Wypisz pierwsze 4 kategorie produktów i ich opis. SELECT TOP 4 NazwaKategorii, Opis FROM Kategorie; 1

b) Polecenie: Wyświetl wszystkie informacje na temat 10 najdroŝszych produktów z tabeli Produkty. SELECT TOP 10 * FROM Produkty ORDER BY CenaJednostkowa DESC; c) Polecenie: Wypisz pierwsze 25% wszystkich zamówień, wyświetl numer zamówienia, opis i ilość dla zamówienia. SELECT TOP 25 PERCENT IDzamówienia, IDproduktu, Ilość ; II. Wybór wierszy 1. Wybór wierszy: klauzula WHERE (łączenie warunków, kolejność wykonywanych poleceń: AND, OR, nawiasy, Operatory porównań. a) Polecenie: Wyświetl wszystkie produkty, których stan magazynowy jest mniejszy niŝ 30. FROM Produkty WHERE StanMagazynu<30; b) Polecenie: Wyświetl nazwy, adresy i miasta dostawców ze Szwecji, posortowane według nazw firm. SELECT NazwaFirmy, Adres, Miasto FROM Dostawcy WHERE Kraj='Szwecja'; c) Polecenie: Wyświetl wszystkie zamówienia, które zostały złoŝone po 1997 roku i wysłane do Londynu. FROM Zamówienia WHERE (DataZamówienia>#12/31/1997#) AND (MiastoOdbiorcy='Londyn'); d) Polecenie: Wyświetl wszystkie zamówienia na których cena jednostkowa była większa od 200 lub ilość zamawianego towaru przekraczała 100. WHERE (CenaJednostkowa>200) OR (Ilość>100); 2. Polecenie BETWEEN AND a) Polecenie: Wyświetl wszystkich pracowników (imię, nazwisko, stanowisko) przyjętych do pracy w 1 kwartale 1994 roku. SELECT Imię, Nazwisko, Stanowisko WHERE DataZatrudnienia BETWEEN #1/1/1994# AND #3/31/1994#; 2

b) Polecenie: Wyświetl wszystkie zamówienia, dla których fracht mieści się w granicach 80-120 zł. FROM Zamówienia WHERE Fracht BETWEEN 80 AND 120; 3. Polecenie IN Polecenie: Wyświetl ID dostawcy, firmę, Przedstawiciela i jego stanowisko pochodzących z Niemiec, Szwecji lub Holandii. SELECT IDDostawcy, NazwaFirmy, Przedstawiciel, StanowiskoPrzedstawiciela FROM Dostawcy WHERE Kraj IN ('Niemcy', 'Szwecja', 'Holandia'); 4. Polecenie LIKE Rodzaj zgodności Wzorzec Zgodność Brak zgodności (zwraca True) (zwraca False) Wiele znaków a*a aa, aba, abbba abc *ab* abc, AABB, Xab azb, bac Znak specjalny a[*]a a*a aaa Wiele znaków ab* abcdefg, abc cab, aab Jeden znak a?a aaa, a3a, aba abbba Jedna cyfra a#a a0a, a1a, a2a aaa, a10a Zakres znaków [a-z] f, p, j 2, & Poza zakresem [!a-z] 9, &, % b, a Nie cyfra [!0-9] A, a, &, ~ 0, 1, 9 Połączenie a[!b-m]# An9, az0, a99 abc, aj0 a) Polecenie: Wybierz kategorie, do których zostały zaklasyfikowane owoce. FROM Kategorie WHERE Opis LIKE '*owoce*'; b) Polecenie: Wyświetl informacje na temat wszystkich pracowników, których imię zaczyna się na literę A. WHERE Imię LIKE 'A*'; 5. Wybór nieznanych wartości IS (NOT) NULL a) Polecenie: wypisz informacje o pracownikach, dla których jest wypełnione pole region. WHERE Region IS NOT NULL; 3

b) Polecenie: wyświetl nazwy tych dostawców, którzy nie posiadają strony internetowej. SELECT NazwaFirmy FROM Dostawcy WHERE StronaMacierzysta IS NULL; 6. Wybór nie powtarzających się informacji DISTINCT a) Polecenie: Wypisz wszystkie miasta, z których pochodzą klienci. SELECT DISTINCT Miasto FROM Klienci; b) Wypisz wszystkie miasta, w których dokonano zamówień w sierpniu 1996. SELECT DISTINCT MiastoOdbiorcy FROM Zamówienia WHERE DataZamówienia BETWEEN #8/1/1996# AND #8/31/1996#; III. Zastosowanie funkcji i innych operacji na atrybutach; aliasy 1. Funkcje ciągów znaków: sumowanie tekstów, LEFT, RIHGT, SUBSTRING, REPLACE Funkcje tekstowe ASCII LENGTH RTRIM CHAR LOCATE SPACE CONCAT LTRIM SUBSTRING LCASE RIGHT UCASE LEFT a) Polecenie: Zamień w imionach pracowników literę N na znak _. SELECT Replace(Imię, 'n', '_') ; b) Polecenie: Wypisz nazwy miast, oraz pierwsze 3 znaki i ostatnie 45 znaków. SELECT Nazwa_miasto, LEFT(Nazwa_miasto, 3) AS Pierwsze3, RIGHT (Nazwa_miasto, 45) AS Ostatnie45 FROM Miasto; c) Polecenie: Wypisz imiona i nazwiska pracowników, zamieniając nazwiska na litery drukowane. SELECT Imię, UCase(Nazwisko) AS NazwiskoDrukowanymi ; 2. Operatory arytmetyczne: + - / * % a) Polecenie: Powiększ cenę jednostkową wszystkich produktów o 10% i wypisz jako nową kolumnę., CenaJednostkowa*1.1 AS NowaCena 4

b) Wyznacz wartości poszczególnych produktów w magazynie (wyświetl wraz z nazwami produktów). SELECT NazwaProduktu, StanMagazynu*CenaJednostkowa AS Wartość 3. Funkcje arytmetyczne, np. ABS lub ROUND Funkcje numeryczne ABS ATAN FLOOR SIN LOG SQRT CEILING POWER TAN COS EXP RAND MOD Polecenie: Zaokrąglij do pełnych złotych cenę produktów i dopisz walutę. SIGN SELECT NazwaProduktu, CCur(Round(CenaJednostkowa,0)) 4. Funkcje daty: DAY, MONTH, YEAR, DATE, DATEADD Funkcje daty i czasu CURDATE DAYOFYEAR MONTH CURTIME YEAR WEEK NOW HOUR QUARTER DAYOFMONTH MINUTE MONTHNAME DAYOFWEEK SECOND DAYNAME a) Polecenie: wypisz dzisiejszą datę, dzień, miesiąc i rok w osobnych kolumnach. SELECT DAY(Date()) AS Dzień, MONTH(Date()) AS Miesiąc, YEAR(Date()) AS Rok; b) Wypisz pracowników (imię i nazwisko) oraz dzień (datę), w którym upływa (upłynęło) 10 lat od momentu zatrudnienia. Uwzględnij tylko tych pracowników, którzy mają mniej niŝ 50 lat a staŝ pracy większy niŝ 13 lat, oraz w momencie zatrudnienia byli przed 35 rokiem Ŝycia (zakłada się dla uproszczenia, Ŝe upływ roku następuje wraz z przejściem do kolejnego roku kalendarzowego np. pracownikowi zatrudnionemu 31.XII.00 roczny staŝ przypisuje się juŝ 1.I.01). SELECT Imię, Nazwisko, DateAdd('yyyy', 10, DataZatrudnienia) WHERE (YEAR(Date()) - YEAR(DataUrodzenia) < 50) AND (YEAR(Date()) - YEAR(DataZatrudnienia) > 13) AND (YEAR(DataZatrudnienia) - YEAR(DataUrodzenia) < 35); 5. Literały ciąg znaków SELECT kolumna1, literał, kolumna2 FROM tabela Sumowanie pól znakowych a) Polecenie: Wyświetl w jednej kolumnie o nazwie dane: nazwisko, imię i stanowisko pracownika SELECT Nazwisko+' '+Imię+' '+Stanowisko AS Dane ; 5

b) Polecenie: Wyświetl w jednej kolumnie o nazwie dane: nazwisko, imię, w następnej literał: pracuje od, data zatrudnienia pracownika SELECT Nazwisko, Imię, 'Pracuje od:', DataZatrudnienia ; IV. Zastosowanie funkcji agregujących 1. Funkcje agregujące; klauzula GROUP BY i HAVING a) Wyświetl sumę kosztów frachtu ze wszystkich zamówień. SELECT SUM(Fracht) FROM Zamówienia; b) Wyświetl sumę wartości produktów w magazynie. SELECT SUM(StanMagazynu*CenaJednostkowa) AS SumaWartości c) Polecenie: Zlicz ilość rekordów znajdujących się w tablicy Produkty. SELECT COUNT(*) d) Polecenie: Wyświetl wartość sprzedaŝy poszczególnych produktów, bez rabatów (ID produktu i wartość sprzedaŝy). SELECT IDProduktu, SUM(Ilość*CenaJednostkowa) AS WartośćBezRabatów GROUP BY IDProduktu; e) Polecenie: Wyświetl średnie ilości sprzedaŝy według poziomów przyznanych rabatów. SELECT Rabat, AVG(Ilość) AS ŚredniaIlość GROUP BY Rabat; f) Polecenie: Wypisz zamówienia, posortowane malejąco wg ceny do zapłaty przez klienta. SELECT IDZamówienia, SUM(CCur(Round(Ilość*CenaJednostkowa*(1- Rabat),2))) AS DoZapłaty GROUP BY IDZamówienia ORDER BY 2 DESC; g) Polecenie: j.w., przy czym wyświetlane są tylko zamówienia o kwocie przekraczającej 5000 zł. SELECT IDZamówienia, SUM(CCur(Round(Ilość*CenaJednostkowa*(1- Rabat),2))) AS DoZapłaty GROUP BY IDZamówienia HAVING SUM(Round(Ilość*CenaJednostkowa*(1-Rabat),2))>5000 ORDER BY 2 DESC; 6

h) Polecenie: Wypisz największą, najmniejszą i przeciętną (niewaŝoną) cenę produktu w magazynie. SELECT MIN(CenaJednostkowa) AS Najmniejsza, MAX(CenaJednostkowa) AS Największa, AVG(CenaJednostkowa) AS Średnia V. Łączenie tabel 1. Złączenia wewnętrzne: INNER JOIN a) Polecenie: wyświetl ID zamówień połączone z danymi spedytora. SELECT IDzamówienia, Spedytorzy.* FROM Spedytorzy INNER JOIN Zamówienia ON Spedytorzy.IDspedytora = Zamówienia.IDspedytora; b) Polecenie: wyświetl nazwy miast, posortowane alfabetycznie, wraz z nazwami regionów (tabele: Miasto, Region). SELECT Nazwa_miasto, Nazwa_region FROM Region INNER JOIN Miasto ON Region.IDregion = Miasto.IDregion; c) Polecenie: wyświetl imiona i nazwiska pracowników oraz nazwy miast, które są pod ich opieką (tabele: Pracownicy, Pracownicy_miasto, Miasto). SELECT Imię, Nazwisko, Nazwa_miasto INNER JOIN (Miasto INNER JOIN Pracownicy_miasto ON Miasto.IDmiasto = Pracownicy_miasto.IDmiasto) ON Pracownicy.IDpracownika = Pracownicy_miasto.IDpracownicy; d) Polecenie: wyświetl miasta, które są pod opieką pracowników o numerach 1 i 2. SELECT DISTINCT Nazwa_miasto FROM Miasto INNER JOIN Pracownicy_miasto ON Miasto.IDmiasto = Pracownicy_miasto.IDmiasto WHERE IDPracownicy IN (1,2); e) Polecenie: utwórz ranking pracowników według wartości dokonanej przez nich sprzedaŝy (uwzględniającej rabaty). SELECT Pracownicy.IDPracownika, Imię, Nazwisko, SUM(CCur(Round(Ilość*CenaJednostkowa*(1-Rabat),2))) FROM (Pracownicy INNER JOIN Zamówienia ON Pracownicy.IDpracownika = Zamówienia.IDpracownika) INNER JOIN [Opisy zamówień] ON Zamówienia.IDzamówienia = [Opisy zamówień].idzamówienia GROUP BY Pracownicy.IDPracownika, Imię, Nazwisko ORDER BY 4 DESC; 2. CROSS JOIN (tylko wyjaśnienie) 7

3. Złączenia zewnętrzne: LEFT RIGHT OUTER JOIN a) Polecenie: dopisz do tabeli pracowników nowego pracownika. Następnie wyświetl imiona i nazwiska pracowników wraz z ID miast, które są pod ich opieką, uwzględniając takŝe w zestawieniu osoby nie opiekujące się Ŝadnym miastem. SELECT Imię, Nazwisko, IDMiasto LEFT OUTER JOIN Pracownicy_miasto ON Pracownicy.IDpracownika = Pracownicy_miasto.IDpracownicy; 4. Podzapytania a) Polecenie: Wypisz 5 najtańszych produktów spośród produktów o ponadprzeciętnych cenach. SELECT TOP 5 * FROM Produkty WHERE CenaJednostkowa> (SELECT AVG(CenaJednostkowa) FROM Produkty) ORDER BY CenaJednostkowa; b) Polecenie: wyświetl nazwiska i imiona pracowników, którzy nie sprzedali niczego do Argentyny. SELECT Nazwisko, Imię WHERE IDPracownika NOT IN (SELECT DISTINCT IDPracownika FROM Zamówienia WHERE KrajOdbiorcy='Argentyna'); 5. Operator UNION Polecenie: Wyświetl w jednej tablicy miasto, nazwe firmy i przedstawiciela, klienta i dostawce, przy czym wyświetl typ relacji klient czy dostawca, w osobnym polu. SELECT NazwaFirmy, Przedstawiciel, 'Klient' FROM Klienci UNION SELECT NazwaFirmy, Przedstawiciel, 'Dostawca' FROM Dostawcy; 8