Lekcja 3. Zadanie 1 pkt.1 Aby w zapytaniu odwołać się do innej bazy i tabeli niż aktualnie wybrana należy użyć zapisu baza.tabela np. SELECT * FROM wikingowie.kreatura; W ten sposób można użyć polecenie CREATE TABLE kreatura AS SELECT * FROM wikingowie.kreatura; pkt.4 SELECT idZasobu, ilosc from ekwipunek WHERE idKreatury IN (1,3,5); Zadanie 2 Tutaj trzeba wykorzystać operatory poznane w lekcji 2 czyli >,<,<=,>=, <>, != Dodatkowo dla zakresu wartości albo 2 warunki złączone sumą logiczną AND lub wykorzystując BETWEEN. W ostatnim punkcie ponownie trzeba wykorzystać pocenie LIKE, które wyszukuje dopasowań do wzorca. Zadanie 3 pkt. 1 Funkcja month(data) zwraca numer miesiąca z daty z wartościami od 1 do 12. Można tak: ... WHERE month(dataPozyskania) IN (7,8); pkt.2 Część operacji porównania polega na porównaniu logicznym, tzn. odpowiedź może przyjąć jedną z dwóch wartości - TRUE lub FALSE. W tym przypadku nie stosujemy operatora =,!=, <> tylko IS lub IS NOT. Również w przypadku porównywania wartości do NULL musimy z tego korzystać. Czyli: ... WHERE rodzaj IS NOT NULL; pkt. 3 ORDER BY + LIMIT Zadanie 4 pkt.1 DISTINCT ogranicza listę wartości do listy unikalnej dla danego zbioru wynikowego. SELECT DISTINCT rodzaj from zasob; pkt.2 Tutaj używamy funkcji GROUP_CONCAT(), które złącza kilka ciągów tekstowych w jeden dodatkowo wykonując grupowanie. GROUP_CONCAT tak jak funkcje agregujące (sum(), avg(), itp) wykorzystuje grupowanie poprzez dodanie GROUP BY kolumna na końcu zapytania. Brak takiego zapisu skutkuje zwróceniem 1 wyniku dla całego zbioru zapytania. Porównaj wynik obu poniższych zapytań. np. SELECT GROUP_CONCAT(nazwa," - ",rodzaj) FROM kreatura WHERE rodzaj LIKE 'wi%'; SELECT GROUP_CONCAT(nazwa," - ",rodzaj) FROM kreatura WHERE rodzaj LIKE 'wi%' GROUP BY idKreatury; pkt.3 Można dodawawać aliasy dla nazw kolumn w wynikach zapytania poprzez dodania as nazwa_aliasu dla dowolnej kolumny zwracanej zapytaniem. SELECT waga*ilosc as "waga calkowita" from zasob where year(dataPozyskania) BETWEEN 2000 and 2007;