Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych

Podobne dokumenty
Wydział Elektrotechniki, Informatyki i Telekomunikacji

Bazy Danych. Ćwiczenie 6: Podstawy języka SQL, część 1, polecenie SELECT

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych

Bazy Danych. Ćwiczenie 8: Podstawy języka SQL, część 3, złączenia tabel

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych

Bazy Danych. Ćwiczenie 11: Wybrane funkcje wbudowane

Wydział Elektrotechniki, Informatyki I Elektroniki Instytut Informatyki i Elektrotechniki. Język SQL

Język SQL (na przykładzie serwera MySQL)

Język SQL (na przykładzie serwera MySQL)

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych

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

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

Autor: Joanna Karwowska

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

Wykład 5. SQL praca z tabelami 2

Przestrzenne bazy danych Podstawy języka SQL

SQL (ang. Structured Query Language)

Kurs. Podstawy MySQL

Autor: Joanna Karwowska

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

Podstawowe zapytania SELECT (na jednej tabeli)

Wprowadzenie do baz danych

Język SQL. Rozdział 2. Proste zapytania

Ćwiczenie zapytań języka bazy danych PostgreSQL

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych

Struktura bazy danych

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

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

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych

Wprowadzenie do języka SQL

Język SQL, zajęcia nr 1

Technologie baz danych

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

Relacyjne bazy danych. Podstawy SQL

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

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

Kwerendy (zapytania) wybierające

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

Autor: Joanna Karwowska

Relacyjne bazy danych. Podstawy SQL

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

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

Technologie baz danych

Bazy danych. Polecenia SQL

Widok Connections po utworzeniu połączenia. Obszar roboczy

DODATEK: Import i eksport danych Eksport przy użyciu SELECT a

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

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

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

Komunikacja z bazą danych psql

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Laboratorium Bazy danych SQL 2

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

Zadania z SQLa (MS SQL Server)

Wykład 05 Bazy danych

Jak wida ć na powyższym przykładzie, grupy warunków umieszcza si ę w nawiasach.

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych

Podstawy języka SQL cz. 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PODZAPYTANIE (SUBSELECT)

SQL praca z tabelami 4. Wykład 7

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Zapytania do baz danych

Systemy GIS Tworzenie zapytań w bazach danych

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

Bazy danych Access KWERENDY

TEMAT ĆWICZENIA Zapoznanie z technologią LINQ

Zapytania do bazy danych

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

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

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

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

Wykład 6. SQL praca z tabelami 3

Bazy danych Kwerendy wybierające (operacje logiczne, zapytania, pola obliczeniowe)

Wydział Elektrotechniki, Informatyki i Telekomunikacji. Instytut Informatyki i Elektroniki. Instrukcja do zajęć laboratoryjnych. Bazy danych, ORACLE

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

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

Podyplomowe Studia Systemy informatyczne w logistyce

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

3. Podzapytania, łączenie tabel i zapytań

Bazy danych SQL Server 2005

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

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Grupowanie i funkcje agregacji

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

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

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

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

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

PRZEWODNIK PO PRZEDMIOCIE

Struktura drzewa w MySQL. Michał Tyszczenko

Transkrypt:

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Nr ćwiczenia: 4 Praca z bazą danych MySQL wersja 2.0 Temat: Polecenie SELECT, część 1 Cel ćwiczenia: Wymagane przygotowanie teoretyczne: Sposób zaliczenia: Prowadzący zajęcia: Celem ćwiczenia jest poznanie działania polecenia SELECT. Student zapozna się z następującymi elementami języka: klauzule ORDER BY oraz WHERE, operatory, aliasy, wyrażenia, wartości puste NULL. Informacje podane na wykładzie oraz samodzielne przygotowanie się do zajęć. Pozytywna ocena ćwiczenia przez prowadzącego pod koniec zajęć. dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 1. Uwagi wstępne Instrukcja ta ma nieco inny charakter niż poprzednie, w których omawiano (siłą rzeczy bardzo skrótowo i pobieżnie) ćwiczony materiał. Tutaj ograniczamy się jedynie do podania poleceń do wykonania oraz zaprezentowania wyniku jaki powinieneś uzyskać. Uczyniono tak, ponieważ język SQL był (będzie) dosyć dokładnie omawiany na wykładzie i nie powodu, aby w instrukcjach laboratoryjnych powtarzać ten materiał. Jeżeli będziesz uzyskiwał na ekranie inne wyniki niż te prezentowane w instrukcji najprawdopodobniej będzie to oznaczało, że twoje zapytanie SQL jest błędne (chodzi o błędy logiczne, bo błędy składniowe zostaną natychmiast wykryte przez serwer MySQL). Warunkiem uzyskania w ćwiczeniu takich jak poniżej wyników jest praca na demonstracyjnym schemacie relacyjnym, o którym mowa jest w jednym z poprzednich ćwiczeń. Dlatego też należy upewnić się, że odpowiedni skrypt wykonał się bezbłędnie (poprawnie utworzyły się wszystkie tabele oraz załadowały się wszystkie dane). Dla pewności warto przed rozpoczęciem ćwiczenia po prostu utworzyć schemat od nowa, nawet jeżeli wydaje ci się, że ten, który masz aktualnie zainstalowany jest poprawny. Poniżej zamieszczone zestawienie ilości rekordów w każdej z tabel 1. Ten prosty test poprawności danych należy jednak potraktować bardzo ostrożnie, gdyż pokazuje on tylko ile jest rekordów w poszczególnych tabelach a nie czy są one zgodne z oryginałem. mysql> SELECT table_name, table_rows -> FROM information_schema.tables -> WHERE table_schema= blab ; +------------+------------+ table_name table_rows +------------+------------+ customer 15 dept 12 emp 25 1 Korzystamy tutaj ze specjalnej systemowej bazy danych o nazwie information schema. W bazie tej przechowywane są różne informacje na temat innych baz. Jest to więc swego rodzaju baza metadanych Przygotowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 1

inventory 114 item 62 ord 16 product 33 region 5 title 8 warehouse 5 +------------+------------+ 10 rows in set (0.02 sec) Gdy korzystasz z wersji MySQL wcześniejszej niż 5 ilość rekordów można łatwo sprawdzić wydając dla każdej tabeli polecenie: mysql> SELECT COUNT(*) FROM emp; +----------+ COUNT(*) +----------+ 25 +----------+ 1 row in set (0.03 sec) 2. Operatory W poleceniu SELECT będziesz wielokrotnie używał różnych operatorów. Na początku będą to głównie operatory porównania i operatory logiczne, choć w bardziej złożonych (nietypowych) przypadkach mogą być potrzebne też inne ich rodzaje. W czasie używania operatorów warto pamiętać o kolejności ich wykonywania. Domyślna kolejność operatorów może być zmieniona za pomocą nawiasów. Poniżej przedstawiona jest leksykalna kolejność (w malejącym porządku) najczęściej używanych operatorów w MySQL. Więcej szczegółów znajdziesz w dokumentacji. BINARY (porównanie ciągów znaków z uwzględnieniem wielkości liter) NOT! (odwraca wyrażenie logiczne) - (minus jednoskładnikowy) * / % (mnożenie, dzielenie, reszta z dzielenia) + - (dodawanie, odejmowanie) << >> (przesunięcie w prawo i w lewo) & (bitowy iloczyn logiczny) (bitowa suma logiczna) < <= = <=> <> >= > IN LIKE (operatory porównania, sprawdzenie istnienia wartości w liście, porównanie ciągów ze znakami specjalnymi) BETWEEN (test zakresu) AND && (iloczyn logiczny) OR suma logiczna) 3. Polecenia do wykonania Ćwiczenie 1 Przygotowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 2

Wyświetlić dane o pracownikach (tabela emp). Zwrócić uwagę na to w jaki sposób wyświetlana jest kolumna start date. Jako wynik powinniśmy otrzymać: +------------+--------------+---------------------+---------+ first_name last_name start_date salary +------------+--------------+---------------------+---------+ Carmen Velasquez 1990-03-03 00:00:00 2500.00 LaDoris Ngao 1990-03-08 00:00:00 1450.00 Midori Nagayama 1991-06-17 00:00:00 1400.00 Mark Quick-To-See 1990-04-07 00:00:00 1450.00 Audry Ropeburn 1990-03-04 00:00:00 1550.00 Molly Urguhart 1991-01-18 00:00:00 1200.00 Roberta Menchu 1990-05-14 00:00:00 1250.00 Ben Biri 1990-04-07 00:00:00 1100.00 Antoinette Catchpole 1992-02-09 00:00:00 1300.00 Marta Havel 1991-02-27 00:00:00 1307.00 Colin Magee 1990-05-14 00:00:00 1400.00 Henry Giljum 1992-01-18 00:00:00 1490.00 Yasmin Sedeghi 1991-02-08 00:00:00 1515.00 Mai Nguyen 1992-01-22 00:00:00 1525.00 Andre Dumas 1991-10-09 00:00:00 1450.00 Elena Maduro 1992-02-07 00:00:00 1400.00 George Smith 1990-03-08 00:00:00 940.00 Akira Nozaki 1991-02-09 00:00:00 1200.00 Vikram Patel 1991-08-06 00:00:00 795.00 Chad Newman 1991-07-21 00:00:00 750.00 Alexander Markarian 1991-05-26 00:00:00 850.00 Eddie Chang 1990-11-30 00:00:00 800.00 Radha Patel 1990-10-17 00:00:00 795.00 Bela Dancs 1991-03-17 00:00:00 860.00 Sylvie Schwartz 1991-05-09 00:00:00 1100.00 +------------+--------------+---------------------+---------+ 25 rows in set (0.13 sec) Ćwiczenie 2 Wyświetlić dane o pracownikach (tabela emp). Zwrócić uwagę na trochę być może sztuczny i na siłę układ i zawartość kolumn. Użyć funkcji scalającej napisy CONCAT. Jako wynik powinniśmy otrzymać: +--------------+--------------+------------------------+ last_name last_name first_name & last_name +--------------+--------------+------------------------+ Velasquez Velasquez Carmen<->Velasquez Ngao Ngao LaDoris<->Ngao Nagayama Nagayama Midori<->Nagayama Quick-To-See Quick-To-See Mark<->Quick-To-See Ropeburn Ropeburn Audry<->Ropeburn Urguhart Urguhart Molly<->Urguhart Menchu Menchu Roberta<->Menchu Biri Biri Ben<->Biri Catchpole Catchpole Antoinette<->Catchpole Havel Havel Marta<->Havel Magee Magee Colin<->Magee Giljum Giljum Henry<->Giljum Sedeghi Sedeghi Yasmin<->Sedeghi Nguyen Nguyen Mai<->Nguyen Dumas Dumas Andre<->Dumas Przygotowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 3

Maduro Maduro Elena<->Maduro Smith Smith George<->Smith Nozaki Nozaki Akira<->Nozaki Patel Patel Vikram<->Patel Newman Newman Chad<->Newman Markarian Markarian Alexander<->Markarian Chang Chang Eddie<->Chang Patel Patel Radha<->Patel Dancs Dancs Bela<->Dancs Schwartz Schwartz Sylvie<->Schwartz +--------------+--------------+------------------------+ 25 rows in set (0.01 sec) 4 rows in set (0.05 sec) Ćwiczenie 3 Wyświetlić dane o pracownikach (tabela emp). Tym razem wybieramy tylko pracowników zarabiających powyżej 1500 i wynik sortujemy wg. nazwisk. Jako wynik powinniśmy otrzymać: first_name last_name start_date salary Mai Nguyen 1992-01-22 00:00:00 1525.00 Audry Ropeburn 1990-03-04 00:00:00 1550.00 Yasmin Sedeghi 1991-02-08 00:00:00 1515.00 Carmen Velasquez 1990-03-03 00:00:00 2500.00 4 rows in set (0.05 sec) Ćwiczenie 4 Wyświetlić dane o pracownikach (tabela emp). Tym razem wybieramy tylko pracowników, których zarobki mieszczą się w przedziale od 1500 do 2500 (włącznie) i wynik sortujemy wg. tych zarobków. Na ile różnych sposobów można wykonać to polecenie? Jako wynik powinniśmy otrzymać: first_name last_name start_date salary Yasmin Sedeghi 1991-02-08 00:00:00 1515.00 Mai Nguyen 1992-01-22 00:00:00 1525.00 Audry Ropeburn 1990-03-04 00:00:00 1550.00 Carmen Velasquez 1990-03-03 00:00:00 2500.00 4 rows in set (0.00 sec) Ćwiczenie 5 Wyświetlamy dane jak w poprzednim punkcie, ale zmieniamy etykiety. Zwrócić uwagę na wielkość liter w nazwach etykiet. Jako wynik powinniśmy otrzymać: +--------+-----------+---------------------+---------+ IMIE nazwisko data zatrudnienia ZaRoBkI +--------+-----------+---------------------+---------+ Yasmin Sedeghi 1991-02-08 00:00:00 1515.00 Mai Nguyen 1992-01-22 00:00:00 1525.00 Audry Ropeburn 1990-03-04 00:00:00 1550.00 Przygotowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 4

Carmen Velasquez 1990-03-03 00:00:00 2500.00 +--------+-----------+---------------------+---------+ 4 rows in set (0.00 sec) Ćwiczenie 6 Wyświetlić dane o pracownikach (tabela emp). Tym razem wybieramy tylko pracowników, którzy pracują w dziale o numerze 41 (kolumna dept id). Dodatkowo wyświetlamy kwotę zarobków pomnożoną przez 12. Jak można zmienić nazwę etykiety salary*12? Jako wynik powinniśmy otrzymać: +------------+-----------+---------+-----------+ first_name last_name salary salary*12 +------------+-----------+---------+-----------+ LaDoris Ngao 1450.00 17400.00 Molly Urguhart 1200.00 14400.00 Elena Maduro 1400.00 16800.00 George Smith 940.00 11280.00 +------------+-----------+---------+-----------+ 4 rows in set (0.06 sec) Ćwiczenie 7 Wyświetlić dane o pracownikach (tabela emp). Wybrać tylko tych pracowników, którzy zostali zatrudnieni po 31-12-1991 (kolumna start date). Wynik posortować wg. daty zatrudnienia. Zwrócić uwagę na format podawanej daty w klauzuli WHERE. Jako wynik powinniśmy otrzymać: +------------+-----------+---------------------+ first_name last_name start_date +------------+-----------+---------------------+ Henry Giljum 1992-01-18 00:00:00 Mai Nguyen 1992-01-22 00:00:00 Elena Maduro 1992-02-07 00:00:00 Antoinette Catchpole 1992-02-09 00:00:00 +------------+-----------+---------------------+ 4 rows in set (0.00 sec) Ćwiczenie 8 Wyświetlić bieżącą datę oraz bieżący czas systemowy. Jako wynik powinniśmy otrzymać: +--------------+--------------+---------------------+ current_date current_time current_timestamp +--------------+--------------+---------------------+ 2006-01-30 23:20:32 2006-01-30 23:20:32 +--------------+--------------+---------------------+ 1 row in set (0.00 sec) Ćwiczenie 9 Wyświetlić bieżącą datę oraz bieżący czas systemowy. W drugiej kolumnie specyficznie sformatować wynik (użyć funkcji DATE FORMAT). Jako wynik powinniśmy otrzymać: +---------------------+---------------------------------------------+ current_timestamp biezaca data i godzina Przygotowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 5

+---------------------+---------------------------------------------+ 2006-01-30 23:55:58 Monday :: January :: 30 :: 2006 :: 23:55:58 +---------------------+---------------------------------------------+ 1 row in set (0.00 sec) Ćwiczenie 10 Wyświetlić dane o pracownikach. Wyświetlić datę zatrudnienia (kolumna start date) oraz dodatkowo informację o tym, ile dni są już zatrudnieni. Wynik posortować wg. ilości tych dni. Użyć funkcji systemowej DATEDIFF. Jako wynik powinniśmy otrzymać: +--------------+---------------------+-----------+ last_name start_date ilosc dni +--------------+---------------------+-----------+ Velasquez 1990-03-03 00:00:00 5812 Ropeburn 1990-03-04 00:00:00 5811 Ngao 1990-03-08 00:00:00 5807 Smith 1990-03-08 00:00:00 5807 Quick-To-See 1990-04-07 00:00:00 5777 Biri 1990-04-07 00:00:00 5777 Magee 1990-05-14 00:00:00 5740 Menchu 1990-05-14 00:00:00 5740 Patel 1990-10-17 00:00:00 5584 Chang 1990-11-30 00:00:00 5540 Urguhart 1991-01-18 00:00:00 5491 Sedeghi 1991-02-08 00:00:00 5470 Nozaki 1991-02-09 00:00:00 5469 Havel 1991-02-27 00:00:00 5451 Dancs 1991-03-17 00:00:00 5433 Schwartz 1991-05-09 00:00:00 5380 Markarian 1991-05-26 00:00:00 5363 Nagayama 1991-06-17 00:00:00 5341 Newman 1991-07-21 00:00:00 5307 Patel 1991-08-06 00:00:00 5291 Dumas 1991-10-09 00:00:00 5227 Giljum 1992-01-18 00:00:00 5126 Nguyen 1992-01-22 00:00:00 5122 Maduro 1992-02-07 00:00:00 5106 Catchpole 1992-02-09 00:00:00 5104 +--------------+---------------------+-----------+ 25 rows in set (0.00 sec) Ćwiczenie 11 Wyświetlić dane o pracownikach posortowane wg. nazwisk. Wyświetlić tylko pięć kolejnych rekordów poczynając od czwartego rekordu licząc od góry (użyć klauzuli LIMIT). Jako wynik powinniśmy otrzymać: +------------+-----------+ first_name last_name +------------+-----------+ Bela Dancs Andre Dumas Henry Giljum Marta Havel Elena Maduro +------------+-----------+ 5 rows in set (0.00 sec) Przygotowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 6

Ćwiczenie 12 Wyświetlić dane z tabeli produktów (tabela product). Wyświetlić tylko te rekordy, gdzie nazwa produktu (kolumna name) rozpoczyna się na literę A, B lub C. Wynik dodatkowo posortować malejące (od Z do A). Jako wynik powinniśmy otrzymać: +--------------------------+ name +--------------------------+ Chapman Helmet Cabrera Bat Bunny Ski Pole Bunny Boot Black Hawk Knee Pads Black Hawk Elbow Pads Alomar Glove Alexeyer Pro Lifting Bar Ace Ski Pole Ace Ski Boot +--------------------------+ 10 rows in set (0.00 sec) Ćwiczenie 13 Wyświetlić dane z tabeli pracowników (tabela emp). Wyświetlić tylko te rekordy, gdzie wielkość prowizji (kolumna commision pct) jest różna od wartości NULL. Jako wynik powinniśmy otrzymać: +------------+-----------+----------------+ first_name last_name COMMISSION_PCT +------------+-----------+----------------+ Colin Magee 10.00 Henry Giljum 12.50 Yasmin Sedeghi 10.00 Mai Nguyen 15.00 Andre Dumas 17.50 +------------+-----------+----------------+ 5 rows in set (0.00 sec) Ćwiczenie 14 Wyświetlić dane z tabeli oddziałów (tabela dept). Wynik posortować wg. nazw oddziałów oraz wg. numerów regionów (kolumna region id). Jako wynik powinniśmy otrzymać: +----+----------------+-----------+ id name region_id +----+----------------+-----------+ 50 Administration 1 10 Finance 1 41 Operations 1 42 Operations 2 43 Operations 3 44 Operations 4 45 Operations 5 31 Sales 1 32 Sales 2 Przygotowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 7

33 Sales 3 34 Sales 4 35 Sales 5 +----+----------------+-----------+ 12 rows in set (0.00 sec) Ćwiczenie 15 Wyświetlić dane o klientach (tabela customer), których zdolność kredytowa (kolumna credit rating) oceniana jest na dobrą (wartość w kolumnie: GOOD). Zwrócić uwagę na sposób formułowania warunku w klauzuli WHERE. Użyć raz operatora = a raz operatora LIKE. Jako wynik powinniśmy otrzymać: +-------------------+---------------+ name credit_rating +-------------------+---------------+ Delhi Sports GOOD Sweet Rock Sports GOOD Muench Sports GOOD +-------------------+---------------+ 3 rows in set (0.00 sec) Ćwiczenie 16 Z tabeli dept wyświetlić wszystkie nazwy oddziałów. Usunąć powtarzające się duplikaty (użyć klauzuli DISTINCT). Jako wynik powinniśmy otrzymać: +----------------+ name +----------------+ Administration Finance Operations Sales +----------------+ 4 rows in set (0.00 sec) Literatura [1] Lech Banachowski (tłum.). SQL. Język relacyjnych baz danych. WNT Warszawa, 1995. [2] Paul Dubios. MySQL. Podręcznik administratora. Wydawnictwo HELION, 2005. [3] MySQL 5.0 Reference Manual, 2005. (jest to najbardziej aktualne opracowanie na temat bazy MySQL stworzone i na bieżąco aktualizowane przez jej twórców. Książka dostępna w wersji elektronicznej pod adresem http://dev.mysql.com/doc/ ). [4] Richard Stones and Neil Matthew. Od podstaw. Bazy danych i MySQL. Wydawnictwo HELION, 2003. [5] Luke Welling and Laura Thomson. MySQL. Podstawy. Wydawnictwo HELION, 2005. Przygotowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 8