CODE CARROTS
SQL
edycja 1. Warszawa 2015

Link do prezentacji
http://goo.gl/yLQJcs
Funkcje
Rozszerzenie
Funkcje
-
Działają analogicznie jak funkcje w np. Excelu, językach programowania czyli
-
Przyjmują od 0, 1, 2 lub więcej wartości jako dane wejściowe i
-
Zwracają jedną wartość jako wynik
-
Poznaliście już LENGTH()
Przykładowe funkcje
--CONCAT() funkcja sklejająca napisy
SELECT CONCAT('Hello',' ','World!');
SELECT CONCAT(first_name,' ',last_name) FROM actor;
--NOW() zwraca aktualny czas
SELECT NOW();
--SUBSTR() wycinanie napisu z napisu
SELECT SUBSTR('abcdefghijklmnzopqrstuvwxyz',1,8);
SELECT SUBSTR(first_name,1,1), SUBSTR(last_name,1,1)
FROM actor;
--DATE_ADD() do manipulacji datami
SELECT DATE_ADD(NOW(), INTERVAL 1 QUARTER);
SELECT last_update, DATE_ADD(last_update, INTERVAL -1 DAY)
FROM film;Funkcje - zadanie
1. Napisz zapytanie, które zwróci inicjały aktorów jako jednokolumnowy rezultat
DISTINCT
Przypomnienie
Jak ograniczyć wynik do unikalnych zestawów wartości?
Lista różnych dat wydań filmów
SELECT DISTINCT
release_year
FROM film;Jak ograniczyć wynik do unikalnych zestawów wartości?
Lista ratingów filmów
SELECT DISTINCT
rating
FROM film;DISTINCT - Zadanie
2. Napisz listę imion aktorów, które pojawiają się w opisach jakichkolwiek filmów zawartych w bazie.
Potem dla porównania popraw zapytanie tak, żeby zwracało tylko unikalne imiona.
Funkcje agregujące
Funkcje agregujące
-
zliczają wartości z wielu wierszy do pojedyńczego wyniku
-
niemal zawsze pomijają wartości null
SUM()
SELECT
SUM(amount)
FROM payment;
Suma wszystkich płatności
MIN(), AVG(), MAX()
SELECT
MIN(amount),
AVG(amount),
MAX(amount)
FROM payment;
Najmniejsza, średnia, największa kwota
MIN(), MAX()
SELECT
MIN(city),
MAX(city)
FROM city ci
INNER JOIN country co
ON ci.country_id = co.country_id
AND co.country = 'Myanmar';
Alfabetycznie pierwsze i ostatnie miasto w Myanmarze

COUNT(), COUNT(DISTINCT)
SELECT
COUNT(city),
COUNT(DISTINCT city)
FROM city;
Lista miast i unikalnych nazw miast
COUNT(), COUNT(DISTINCT)
SELECT
COUNT(null),
COUNT(*),
COUNT(1),
COUNT(DISTINCT last_name)
FROM actor;Liczba aktorów i unikalnych nazwisk

Funkcje agregujące
- zadanie
3. Na dwa różne sposoby policz średnią płatność dla pracownika o imieniu 'Mike'
SQL | Prezentacja 4. pierwsze pół
By code carrots
SQL | Prezentacja 4. pierwsze pół
SQL Code Carrots
- 793