Strony:
Masz jakieś pytania?
Skontaktuj się ze mną
Masz jakieś pytania?
Skontaktuj się ze mną
Baza sakila jest to przykładowa baza jeżeli wybierzemy to będzie instalowana razem ze środowiskiem MySQL community.
Zapytania można wykonać i zaobserwować wyniki za pomocą aplikacji: https://wiki.ostrowski.net.pl/php_mysql/sakila.php
SELECT title, LENGTH, rating FROM film;
SELECT title, LENGTH FROM film ORDER BY LENGTH DESC LIMIT 10;
SELECT c.name AS category, COUNT(*) AS film_count FROM film_category fc JOIN category c ON fc.category_id = c.category_id GROUP BY c.name ORDER BY film_count DESC;
SELECT c.name AS category, AVG(f.length) AS avg_length FROM film f JOIN film_category fc ON f.film_id = fc.film_id JOIN category c ON fc.category_id = c.category_id GROUP BY c.name;
SELECT a.first_name, a.last_name, COUNT(*) AS film_count FROM actor a JOIN film_actor fa ON a.actor_id = fa.actor_id GROUP BY a.actor_id ORDER BY film_count DESC LIMIT 10;
SELECT f.title, l.name AS LANGUAGE FROM film f JOIN LANGUAGE l ON f.language_id = l.language_id;
SELECT f.title, a.first_name, a.last_name FROM film f JOIN film_actor fa ON f.film_id = fa.film_id JOIN actor a ON fa.actor_id = a.actor_id ORDER BY f.title;
SELECT c.first_name, c.last_name, SUM(p.amount) AS total_spent FROM customer c JOIN payment p ON c.customer_id = p.customer_id GROUP BY c.customer_id ORDER BY total_spent DESC LIMIT 10;
SELECT f.title, COUNT(r.rental_id) AS rental_count FROM film f JOIN inventory i ON f.film_id = i.film_id JOIN rental r ON i.inventory_id = r.inventory_id GROUP BY f.film_id ORDER BY rental_count DESC;
SELECT f.title FROM film f JOIN inventory i ON f.film_id = i.film_id JOIN rental r ON i.inventory_id = r.inventory_id GROUP BY f.film_id ORDER BY COUNT(*) DESC LIMIT 1;
SELECT c.first_name, c.last_name, a.address FROM customer c JOIN address a ON c.address_id = a.address_id JOIN city ci ON a.city_id = ci.city_id WHERE ci.city = 'Dallas';
SELECT c.name AS category, AVG(f.length) AS avg_length FROM film f JOIN film_category fc ON f.film_id = fc.film_id JOIN category c ON fc.category_id = c.category_id GROUP BY c.name HAVING AVG(f.length) > 120;
SELECT c.first_name, c.last_name, COUNT(r.rental_id) AS rentals FROM customer c JOIN rental r ON c.customer_id = r.customer_id GROUP BY c.customer_id ORDER BY rentals DESC;
SELECT f.title FROM film f LEFT JOIN inventory i ON f.film_id = i.film_id LEFT JOIN rental r ON i.inventory_id = r.inventory_id WHERE r.rental_id IS NULL;
SELECT co.country, COUNT(*) AS customer_count FROM customer cu JOIN address a ON cu.address_id = a.address_id JOIN city ci ON a.city_id = ci.city_id JOIN country co ON ci.country_id = co.country_id GROUP BY co.country ORDER BY customer_count DESC;
SELECT AVG(DATEDIFF(return_date, rental_date)) AS avg_rental_duration FROM rental WHERE return_date IS NOT NULL;
SELECT title, description FROM film WHERE description LIKE '%Action%';
SELECT f.title FROM film f JOIN film_actor fa ON f.film_id = fa.film_id JOIN actor a ON fa.actor_id = a.actor_id WHERE a.first_name = 'PENELOPE' AND a.last_name = 'GUINESS';
SELECT DISTINCT c.first_name, c.last_name FROM customer c JOIN rental r ON c.customer_id = r.customer_id WHERE YEAR(r.rental_date) = 2006;
SELECT AVG(rental_count) AS avg_rentals_per_customer FROM ( SELECT customer_id, COUNT(*) AS rental_count FROM rental GROUP BY customer_id ) AS sub;