edycja 1. Warszawa 2015
http://goo.gl/2OhxjI
SELECT title FROM sakila.filmSELECT film.title, film.rating
FROM sakila.filmSELECT film.title, film.rating
FROM sakila.filmSELECT f.title, f.rating
FROM sakila.film AS fSELECT
f.title AS tytuł,
f.rating AS kategoria_wiekowa
FROM
sakila.film AS fSELECT country_id, country
FROM country
ORDER BY country_id
LIMIT 10country
SELECT city_id, city, country_id
FROM city
WHERE country_id <= 10
ORDER BY city_id
LIMIT 10city
city
country
city
country
country
capital
country
capital
actor
film
actor
film
film_actor
actor
film
film_actor
SELECT *
FROM staff, store(CROSS JOIN)
SELECT
*
FROM
staff,
store
WHERE
staff.store_id = store.store_idSELECT
*
FROM
staff AS f
JOIN
store AS s
ON f.store_id = s.store_id(INNER JOIN)
SELECT
f.staff_id, f.first_name, f.last_name,
s.store_id, s.manager_staff_id, s.address_id
FROM
staff AS f
JOIN
store s
ON f.store_id = s.store_id
SELECT
e.first_name, e.last_name,
m.first_name AS manager_first_name,
m.last_name AS manager_last_name
FROM
staff AS e
JOIN
store AS s
ON e.store_id = s.store_id
JOIN
staff AS m
ON s.manager_staff_id = m.staff_id
SELECT
c.city,
s.first_name, s.last_name
FROM
city c
JOIN address a
ON c.city_id = a.city_id
JOIN customer s
ON s.address_id = a.address_id
WHERE
c.city = "Aurora"
ORDER BY
s.last_name DESC,
s.first_name DESCLista klientów z miasta Aurora posortowanych malejąco wg nazwiska i imienia
Lista filmów z kategorii Drama, posortowanych malejąco wg stawki za wypożyczenie i rosnąco wg tytułu
SELECT
f.title, f.rental_rate, c.name AS category
FROM
film f
JOIN
film_category fc
ON f.film_id = fc.film_id
JOIN
category c
ON c.category_id = fc.category_id
WHERE
c.name = "Drama"
ORDER BY
f.rental_rate DESC,
f.title ASCSELECT
f.title, i.inventory_id, r.*
FROM
inventory i
JOIN
film f
ON i.film_id = f.film_id
LEFT JOIN
rental r
ON i.inventory_id = r.inventory_id
WHERE
f.title = "Academy Dinosaur"Lista wszystkich kopii filmów ze stawką 4.99, z historią ich wypożyczeń przez pracownika o ID 2
SELECT
i.inventory_id, f.title, i.store_id, r.*
FROM
inventory i
JOIN
film f
ON i.film_id = f.film_id
LEFT JOIN
rental r
ON i.inventory_id = r.inventory_id
AND r.staff_id = 2
WHERE
f.rental_rate = 4.99;Lista wszystkich kopii filmów ze stawką 4.99, które nigdy nie zostały wypożyczone przez pracownika o ID 2
SELECT
i.inventory_id, f.title, i.store_id, r.*
FROM
inventory i
JOIN
film f
ON i.film_id = f.film_id
LEFT JOIN
rental r
ON i.inventory_id = r.inventory_id
AND r.staff_id = 2
WHERE
f.rental_rate = 4.99
AND r.rental_id IS NULL;SELECT 1 = 1, 1 = 0, "a" = "a", "a" = "b", "" = "";
SELECT 1 = NULL, 0 = NULL, "a" = NULL, "" = NULL, NULL = NULL;
SELECT NULL IS NULL;
SELECT 1 + NULL, 1 - NULL, 1 * NULL, 1 / NULL;SELECT *
FROM rental
WHERE
rental_date BETWEEN "2005-07-24" AND "2005-07-31 23:59:59"
AND return_date BETWEEN "2005-08-07" AND "2005-08-14 23:59:59"
ORDER BY
rental_date DESC,
return_date DESC;- zaczynają się na literę "L"
- kończą się na literę "T"
- druga litera tytułu to "O"
- opis zawiera słowo "mad"
SELECT *
FROM film
WHERE title LIKE "L%"
AND title LIKE "%T"
AND title LIKE "_O%"
AND description LIKE "%MAD%";jest równoważne:
wyrażenie = wartość1
OR wyrażenie = wartość2
...
- długość to 90 lub 120
- czas wypożyczenia to nie 4 i nie 6
- bonusy nie zawierają usuniętych scen
SELECT *
FROM film
WHERE length IN (90, 120)
AND rental_duration NOT IN (4, 6)
AND special_features NOT LIKE "%deleted scenes%";Lista filmów (tytuł, nr kopii),
które nie były wypożyczane pomiędzy 10 a 20
kategoria wiekowa to "PG-13" lub "NC-17"
opis filmu nie zawiera słowa "story"
koszt zastąpienia pomiędzy 26 a 29
stawka za wypożyczenie nie jest pomiędzy 1 i 4