should be it
This commit is contained in:
566
external/duckdb/test/sakila/test_sakila.test_slow
vendored
Normal file
566
external/duckdb/test/sakila/test_sakila.test_slow
vendored
Normal file
@@ -0,0 +1,566 @@
|
||||
# name: test/sakila/test_sakila.test_slow
|
||||
# description: Run Sakila test queries
|
||||
# group: [sakila]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
CREATE TABLE actor (
|
||||
actor_id numeric NOT NULL,
|
||||
first_name VARCHAR(45) NOT NULL,
|
||||
last_name VARCHAR(45) NOT NULL,
|
||||
last_update TIMESTAMP NOT NULL --,
|
||||
--PRIMARY KEY (actor_id)
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE country (
|
||||
country_id SMALLINT NOT NULL,
|
||||
country VARCHAR(50) NOT NULL,
|
||||
last_update TIMESTAMP,
|
||||
PRIMARY KEY (country_id)
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE city (
|
||||
city_id int NOT NULL,
|
||||
city VARCHAR(50) NOT NULL,
|
||||
country_id SMALLINT NOT NULL,
|
||||
last_update TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (city_id) --,
|
||||
--CONSTRAINT fk_city_country FOREIGN KEY (country_id) REFERENCES country (country_id) ON DELETE NO ACTION ON UPDATE CASCADE
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE address (
|
||||
address_id int NOT NULL,
|
||||
address VARCHAR(50) NOT NULL,
|
||||
address2 VARCHAR(50) DEFAULT NULL,
|
||||
district VARCHAR(20) NOT NULL,
|
||||
city_id INT NOT NULL,
|
||||
postal_code VARCHAR(10) DEFAULT NULL,
|
||||
phone VARCHAR(20) NOT NULL,
|
||||
last_update TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (address_id) --,
|
||||
-- CONSTRAINT fk_address_city FOREIGN KEY (city_id) REFERENCES city (city_id) ON DELETE NO ACTION ON UPDATE CASCADE
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE
|
||||
LANGUAGE (
|
||||
language_id SMALLINT NOT NULL,
|
||||
name CHAR(20) NOT NULL,
|
||||
last_update TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (language_id)
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE category (
|
||||
category_id SMALLINT NOT NULL,
|
||||
name VARCHAR(25) NOT NULL,
|
||||
last_update TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (category_id)
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE customer (
|
||||
customer_id INT NOT NULL,
|
||||
store_id INT NOT NULL,
|
||||
first_name VARCHAR(45) NOT NULL,
|
||||
last_name VARCHAR(45) NOT NULL,
|
||||
email VARCHAR(50) DEFAULT NULL,
|
||||
address_id INT NOT NULL,
|
||||
active CHAR(1) DEFAULT 'Y' NOT NULL,
|
||||
create_date TIMESTAMP NOT NULL,
|
||||
last_update TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (customer_id) --,
|
||||
-- CONSTRAINT fk_customer_store FOREIGN KEY (store_id) REFERENCES store (store_id) ON DELETE NO ACTION ON UPDATE CASCADE,
|
||||
--CONSTRAINT fk_customer_address FOREIGN KEY (address_id) REFERENCES address (address_id) ON DELETE NO ACTION ON UPDATE CASCADE
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE film (
|
||||
film_id int NOT NULL,
|
||||
title VARCHAR(255) NOT NULL,
|
||||
description string DEFAULT NULL,
|
||||
release_year VARCHAR(4) DEFAULT NULL,
|
||||
language_id SMALLINT NOT NULL,
|
||||
original_language_id SMALLINT DEFAULT NULL,
|
||||
rental_duration SMALLINT DEFAULT 3 NOT NULL,
|
||||
rental_rate DECIMAL(4, 2) DEFAULT 4.99 NOT NULL,
|
||||
length SMALLINT DEFAULT NULL,
|
||||
replacement_cost DECIMAL(5, 2) DEFAULT 19.99 NOT NULL,
|
||||
rating VARCHAR(10) DEFAULT 'G',
|
||||
special_features VARCHAR(100) DEFAULT NULL,
|
||||
last_update TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (film_id) --,
|
||||
-- CONSTRAINT CHECK_special_features CHECK(special_features is null or
|
||||
-- special_features like '%Trailers%' or
|
||||
-- special_features like '%Commentaries%' or
|
||||
-- special_features like '%Deleted Scenes%' or
|
||||
-- special_features like '%Behind the Scenes%'),
|
||||
-- CONSTRAINT CHECK_special_rating CHECK(rating in ('G','PG','PG-13','R','NC-17')),
|
||||
-- CONSTRAINT fk_film_language FOREIGN KEY (language_id) REFERENCES language (language_id) ,
|
||||
-- CONSTRAINT fk_film_language_original FOREIGN KEY (original_language_id) REFERENCES language (language_id)
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE film_actor (
|
||||
actor_id INT NOT NULL,
|
||||
film_id INT NOT NULL,
|
||||
last_update TIMESTAMP NOT NULL --,
|
||||
-- PRIMARY KEY (actor_id, film_id) --,
|
||||
-- CONSTRAINT fk_film_actor_actor FOREIGN KEY (actor_id) REFERENCES actor (actor_id) ON DELETE NO ACTION ON UPDATE CASCADE,
|
||||
-- CONSTRAINT fk_film_actor_film FOREIGN KEY (film_id) REFERENCES film (film_id) ON DELETE NO ACTION ON UPDATE CASCADE
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE film_category (
|
||||
film_id INT NOT NULL,
|
||||
category_id SMALLINT NOT NULL,
|
||||
last_update TIMESTAMP NOT NULL --,
|
||||
--PRIMARY KEY (film_id, category_id) --,
|
||||
-- CONSTRAINT fk_film_category_film FOREIGN KEY (film_id) REFERENCES film (film_id) ON DELETE NO ACTION ON UPDATE CASCADE,
|
||||
-- CONSTRAINT fk_film_category_category FOREIGN KEY (category_id) REFERENCES category (category_id) ON DELETE NO ACTION ON UPDATE CASCADE
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE film_text (
|
||||
film_id SMALLINT NOT NULL,
|
||||
title VARCHAR(255) NOT NULL,
|
||||
description string,
|
||||
PRIMARY KEY (film_id)
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE inventory (
|
||||
inventory_id INT NOT NULL,
|
||||
film_id INT NOT NULL,
|
||||
store_id INT NOT NULL,
|
||||
last_update TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (inventory_id) --,
|
||||
-- CONSTRAINT fk_inventory_store FOREIGN KEY (store_id) REFERENCES store (store_id) ON DELETE NO ACTION ON UPDATE CASCADE,
|
||||
-- CONSTRAINT fk_inventory_film FOREIGN KEY (film_id) REFERENCES film (film_id) ON DELETE NO ACTION ON UPDATE CASCADE
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE staff (
|
||||
staff_id SMALLINT NOT NULL,
|
||||
first_name VARCHAR(45) NOT NULL,
|
||||
last_name VARCHAR(45) NOT NULL,
|
||||
address_id INT NOT NULL,
|
||||
picture string DEFAULT NULL,
|
||||
email VARCHAR(50) DEFAULT NULL,
|
||||
store_id INT NOT NULL,
|
||||
active SMALLINT DEFAULT 1 NOT NULL,
|
||||
username VARCHAR(16) NOT NULL,
|
||||
PASSWORD VARCHAR(40) DEFAULT NULL,
|
||||
last_update TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (staff_id) --,
|
||||
-- CONSTRAINT fk_staff_store FOREIGN KEY (store_id) REFERENCES store (store_id) ON DELETE NO ACTION ON UPDATE CASCADE,
|
||||
-- CONSTRAINT fk_staff_address FOREIGN KEY (address_id) REFERENCES address (address_id) ON DELETE NO ACTION ON UPDATE CASCADE
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE store (
|
||||
store_id INT NOT NULL,
|
||||
manager_staff_id SMALLINT NOT NULL,
|
||||
address_id INT NOT NULL,
|
||||
last_update TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (store_id) --,
|
||||
-- CONSTRAINT fk_store_staff FOREIGN KEY (manager_staff_id) REFERENCES staff (staff_id) ,
|
||||
-- CONSTRAINT fk_store_address FOREIGN KEY (address_id) REFERENCES address (address_id)
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE payment (
|
||||
payment_id int NOT NULL,
|
||||
customer_id INT NOT NULL,
|
||||
staff_id SMALLINT NOT NULL,
|
||||
rental_id INT DEFAULT NULL,
|
||||
amount DECIMAL(5, 2) NOT NULL,
|
||||
payment_date TIMESTAMP NOT NULL,
|
||||
last_update TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (payment_id) --,
|
||||
-- CONSTRAINT fk_payment_rental FOREIGN KEY (rental_id) REFERENCES rental (rental_id) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
-- CONSTRAINT fk_payment_customer FOREIGN KEY (customer_id) REFERENCES customer (customer_id) ,
|
||||
-- CONSTRAINT fk_payment_staff FOREIGN KEY (staff_id) REFERENCES staff (staff_id)
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE rental (
|
||||
rental_id INT NOT NULL,
|
||||
rental_date TIMESTAMP NOT NULL,
|
||||
inventory_id INT NOT NULL,
|
||||
customer_id INT NOT NULL,
|
||||
return_date TIMESTAMP DEFAULT NULL,
|
||||
staff_id SMALLINT NOT NULL,
|
||||
last_update TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (rental_id) --,
|
||||
-- CONSTRAINT fk_rental_staff FOREIGN KEY (staff_id) REFERENCES staff (staff_id) ,
|
||||
-- CONSTRAINT fk_rental_inventory FOREIGN KEY (inventory_id) REFERENCES inventory (inventory_id) ,
|
||||
-- CONSTRAINT fk_rental_customer FOREIGN KEY (customer_id) REFERENCES customer (customer_id)
|
||||
)
|
||||
|
||||
statement ok
|
||||
CREATE VIEW customer_list AS
|
||||
SELECT
|
||||
cu.customer_id AS ID,
|
||||
cu.first_name || ' ' || cu.last_name AS name,
|
||||
a.address AS address,
|
||||
a.postal_code AS zip_code,
|
||||
a.phone AS phone,
|
||||
city.city AS city,
|
||||
country.country AS country,
|
||||
CASE WHEN cu.active = 'Y' THEN
|
||||
'active'
|
||||
ELSE
|
||||
''
|
||||
END AS notes,
|
||||
cu.store_id AS SID
|
||||
FROM
|
||||
customer AS cu
|
||||
JOIN address AS a ON cu.address_id = a.address_id
|
||||
JOIN city ON a.city_id = city.city_id
|
||||
JOIN country ON city.country_id = country.country_id
|
||||
|
||||
statement ok
|
||||
CREATE VIEW film_list AS
|
||||
SELECT
|
||||
film.film_id AS FID,
|
||||
film.title AS title,
|
||||
film.description AS description,
|
||||
category.name AS category,
|
||||
film.rental_rate AS price,
|
||||
film.length AS length,
|
||||
film.rating AS rating,
|
||||
actor.first_name || ' ' || actor.last_name AS actors
|
||||
FROM
|
||||
category
|
||||
LEFT JOIN film_category ON category.category_id = film_category.category_id
|
||||
LEFT JOIN film ON film_category.film_id = film.film_id
|
||||
JOIN film_actor ON film.film_id = film_actor.film_id
|
||||
JOIN actor ON film_actor.actor_id = actor.actor_id
|
||||
|
||||
statement ok
|
||||
CREATE VIEW staff_list AS
|
||||
SELECT
|
||||
s.staff_id AS ID,
|
||||
s.first_name || ' ' || s.last_name AS name,
|
||||
a.address AS address,
|
||||
a.postal_code AS zip_code,
|
||||
a.phone AS phone,
|
||||
city.city AS city,
|
||||
country.country AS country,
|
||||
s.store_id AS SID
|
||||
FROM
|
||||
staff AS s
|
||||
JOIN address AS a ON s.address_id = a.address_id
|
||||
JOIN city ON a.city_id = city.city_id
|
||||
JOIN country ON city.country_id = country.country_id
|
||||
|
||||
statement ok
|
||||
CREATE VIEW sales_by_store AS
|
||||
SELECT
|
||||
s.store_id,
|
||||
c.city || ',' || cy.country AS store,
|
||||
m.first_name || ' ' || m.last_name AS manager,
|
||||
SUM(p.amount) AS total_sales
|
||||
FROM
|
||||
payment AS p
|
||||
INNER JOIN rental AS r ON p.rental_id = r.rental_id
|
||||
INNER JOIN inventory AS i ON r.inventory_id = i.inventory_id
|
||||
INNER JOIN store AS s ON i.store_id = s.store_id
|
||||
INNER JOIN address AS a ON s.address_id = a.address_id
|
||||
INNER JOIN city AS c ON a.city_id = c.city_id
|
||||
INNER JOIN country AS cy ON c.country_id = cy.country_id
|
||||
INNER JOIN staff AS m ON s.manager_staff_id = m.staff_id
|
||||
GROUP BY
|
||||
s.store_id,
|
||||
c.city || ',' || cy.country,
|
||||
m.first_name || ' ' || m.last_name
|
||||
|
||||
statement ok
|
||||
CREATE VIEW sales_by_film_category AS
|
||||
SELECT
|
||||
c.name AS category,
|
||||
SUM(p.amount) AS total_sales
|
||||
FROM
|
||||
payment AS p
|
||||
INNER JOIN rental AS r ON p.rental_id = r.rental_id
|
||||
INNER JOIN inventory AS i ON r.inventory_id = i.inventory_id
|
||||
INNER JOIN film AS f ON i.film_id = f.film_id
|
||||
INNER JOIN film_category AS fc ON f.film_id = fc.film_id
|
||||
INNER JOIN category AS c ON fc.category_id = c.category_id
|
||||
GROUP BY
|
||||
c.name
|
||||
|
||||
statement ok
|
||||
COPY actor FROM 'test/sakila/data/actor.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY address FROM 'test/sakila/data/address.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY category FROM 'test/sakila/data/category.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY city FROM 'test/sakila/data/city.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY country FROM 'test/sakila/data/country.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY customer FROM 'test/sakila/data/customer.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY film FROM 'test/sakila/data/film.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY film_actor FROM 'test/sakila/data/film_actor.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY film_category FROM 'test/sakila/data/film_category.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY film_text FROM 'test/sakila/data/film_text.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY inventory FROM 'test/sakila/data/inventory.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY language FROM 'test/sakila/data/language.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY payment FROM 'test/sakila/data/payment.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY rental FROM 'test/sakila/data/rental.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY staff FROM 'test/sakila/data/staff.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
statement ok
|
||||
COPY store FROM 'test/sakila/data/store.csv' (HEADER, DELIMITER '|')
|
||||
|
||||
query TT
|
||||
SELECT first_name,last_name FROM actor ORDER BY actor_id LIMIT 10
|
||||
----
|
||||
PENELOPE GUINESS
|
||||
NICK WAHLBERG
|
||||
ED CHASE
|
||||
JENNIFER DAVIS
|
||||
JOHNNY LOLLOBRIGIDA
|
||||
BETTE NICHOLSON
|
||||
GRACE MOSTEL
|
||||
MATTHEW JOHANSSON
|
||||
JOE SWANK
|
||||
CHRISTIAN GABLE
|
||||
|
||||
query RTT
|
||||
SELECT actor_id, first_name, last_name FROM actor WHERE first_name='JOE' ORDER BY actor_id
|
||||
----
|
||||
9.000000 JOE SWANK
|
||||
|
||||
query RTT
|
||||
SELECT actor_id, first_name, last_name FROM actor WHERE last_name LIKE '%GEN%' ORDER BY actor_id
|
||||
----
|
||||
14.000000 VIVIEN BERGEN
|
||||
41.000000 JODIE DEGENERES
|
||||
107.000000 GINA DEGENERES
|
||||
166.000000 NICK DEGENERES
|
||||
|
||||
query IT
|
||||
SELECT country_id, country FROM country WHERE country IN('Afghanistan', 'Bangladesh', 'China') ORDER BY country_id
|
||||
----
|
||||
1 Afghanistan
|
||||
12 Bangladesh
|
||||
23 China
|
||||
|
||||
query TI
|
||||
SELECT last_name, COUNT(*) as lnc FROM actor GROUP BY last_name HAVING COUNT(*) >=4 ORDER BY lnc desc, last_name
|
||||
----
|
||||
KILMER 5
|
||||
NOLTE 4
|
||||
TEMPLE 4
|
||||
|
||||
query TTT
|
||||
SELECT first_name, last_name, address FROM staff INNER JOIN address ON staff.address_id = address.address_id order by first_name, last_name
|
||||
----
|
||||
Jon Stephens 1411 Lillydale Drive
|
||||
Mike Hillyer 23 Workhaven Lane
|
||||
|
||||
query TTR
|
||||
SELECT first_name, last_name, SUM(amount) as total FROM staff INNER JOIN payment ON staff.staff_id = payment.staff_id AND payment_date::VARCHAR LIKE '2005-08%' GROUP BY first_name, last_name ORDER BY total
|
||||
----
|
||||
Mike Hillyer 11853.650000
|
||||
Jon Stephens 12218.480000
|
||||
|
||||
query TI
|
||||
SELECT title, COUNT(actor_id) as actor_count FROM film_actor INNER JOIN film ON film_actor.film_id = film.film_id GROUP BY title order by actor_count desc, title limit 10
|
||||
----
|
||||
LAMBS CINCINATTI 15
|
||||
BOONDOCK BALLROOM 13
|
||||
CHITTY LOCK 13
|
||||
CRAZY HOME 13
|
||||
DRACULA CRYSTAL 13
|
||||
MUMMY CREATURES 13
|
||||
RANDOM GO 13
|
||||
ARABIA DOGMA 12
|
||||
HELLFIGHTERS SIERRA 12
|
||||
LESSON CLEOPATRA 12
|
||||
|
||||
query TI
|
||||
SELECT title, COUNT(title) as copies_available FROM film INNER JOIN inventory ON film.film_id = inventory.film_id WHERE title = 'HUNCHBACK IMPOSSIBLE' GROUP BY title
|
||||
----
|
||||
HUNCHBACK IMPOSSIBLE 6
|
||||
|
||||
query TTR
|
||||
SELECT first_name, last_name, SUM(amount) as total_paid FROM payment INNER JOIN customer ON payment.customer_id = customer.customer_id GROUP BY first_name, last_name ORDER BY total_paid desc, first_name limit 10
|
||||
----
|
||||
KARL SEAL 221.550000
|
||||
ELEANOR HUNT 216.540000
|
||||
CLARA SHAW 195.580000
|
||||
MARION SNYDER 194.610000
|
||||
RHONDA KENNEDY 194.610000
|
||||
TOMMY COLLAZO 186.620000
|
||||
WESLEY BULL 177.600000
|
||||
TIM CARY 175.610000
|
||||
MARCIA DEAN 175.580000
|
||||
ANA BRADLEY 174.660000
|
||||
|
||||
query T
|
||||
SELECT title FROM film WHERE title LIKE 'K%' OR title LIKE 'Q%' AND title IN ( SELECT title FROM film WHERE language_id IN ( SELECT language_id FROM language WHERE name ='English' ) ) ORDER BY title
|
||||
----
|
||||
KANE EXORCIST
|
||||
KARATE MOON
|
||||
KENTUCKIAN GIANT
|
||||
KICK SAVANNAH
|
||||
KILL BROTHERHOOD
|
||||
KILLER INNOCENT
|
||||
KING EVOLUTION
|
||||
KISS GLORY
|
||||
KISSING DOLLS
|
||||
KNOCK WARLOCK
|
||||
KRAMER CHOCOLATE
|
||||
KWAI HOMEWARD
|
||||
QUEEN LUKE
|
||||
QUEST MUSSOLINI
|
||||
QUILLS BULL
|
||||
|
||||
query TT
|
||||
SELECT first_name, last_name FROM actor WHERE actor_id IN ( SELECT actor_id FROM film_actor WHERE film_id IN ( SELECT film_id FROM film WHERE title = 'ALONE TRIP' ) ) ORDER BY actor_id
|
||||
----
|
||||
ED CHASE
|
||||
KARL BERRY
|
||||
UMA WOOD
|
||||
WOODY JOLIE
|
||||
SPENCER DEPP
|
||||
CHRIS DEPP
|
||||
LAURENCE BULLOCK
|
||||
RENEE BALL
|
||||
|
||||
query TTT
|
||||
SELECT first_name, last_name, email FROM customer JOIN address ON (customer.address_id = address.address_id) JOIN city ON (city.city_id = address.city_id) JOIN country ON (country.country_id = city.country_id) WHERE country.country= 'Canada' ORDER BY first_name, last_name
|
||||
----
|
||||
CURTIS IRBY CURTIS.IRBY@sakilacustomer.org
|
||||
DARRELL POWER DARRELL.POWER@sakilacustomer.org
|
||||
DERRICK BOURQUE DERRICK.BOURQUE@sakilacustomer.org
|
||||
LORETTA CARPENTER LORETTA.CARPENTER@sakilacustomer.org
|
||||
TROY QUIGLEY TROY.QUIGLEY@sakilacustomer.org
|
||||
|
||||
query T
|
||||
SELECT title FROM film WHERE film_id IN ( SELECT film_id FROM film_category WHERE category_id IN ( SELECT category_id FROM category WHERE name='Family' ) ) ORDER BY film_id LIMIT 10
|
||||
----
|
||||
AFRICAN EGG
|
||||
APACHE DIVINE
|
||||
ATLANTIS CAUSE
|
||||
BAKED CLEOPATRA
|
||||
BANG KWAI
|
||||
BEDAZZLED MARRIED
|
||||
BILKO ANONYMOUS
|
||||
BLANKET BEVERLY
|
||||
BLOOD ARGONAUTS
|
||||
BLUES INSTINCT
|
||||
|
||||
query TI
|
||||
SELECT title, COUNT(rental_id) as rental_count FROM rental JOIN inventory ON (rental.inventory_id = inventory.inventory_id) JOIN film ON (inventory.film_id = film.film_id) GROUP BY film.title ORDER BY COUNT(rental_id) DESC, title limit 10
|
||||
----
|
||||
BUCKET BROTHERHOOD 34
|
||||
ROCKETEER MOTHER 33
|
||||
FORWARD TEMPLE 32
|
||||
GRIT CLOCKWORK 32
|
||||
JUGGLER HARDLY 32
|
||||
RIDGEMONT SUBMARINE 32
|
||||
SCALAWAG DUCK 32
|
||||
APACHE DIVINE 31
|
||||
GOODFELLAS SALUTE 31
|
||||
HOBBIT ALIEN 31
|
||||
|
||||
query IR
|
||||
SELECT store.store_id, SUM(amount) as sum_amount FROM store INNER JOIN staff ON store.store_id = staff.store_id INNER JOIN payment ON payment.staff_id = staff.staff_id GROUP BY store.store_id order by sum_amount
|
||||
----
|
||||
1 33489.470000
|
||||
2 33927.040000
|
||||
|
||||
query ITT
|
||||
SELECT store_id, city, country FROM store INNER JOIN address ON store.address_id = address.address_id INNER JOIN city ON city.city_id = address.city_id INNER JOIN country ON country.country_id = city.country_id order by store_id
|
||||
----
|
||||
1 Lethbridge Canada
|
||||
2 Woodridge Australia
|
||||
|
||||
query TR
|
||||
SELECT name, SUM(amount) FROM category INNER JOIN film_category ON category.category_id = film_category.category_id INNER JOIN inventory ON film_category.film_id = inventory.film_id INNER JOIN rental ON inventory.inventory_id = rental.inventory_id INNER JOIN payment ON rental.rental_id = payment.rental_id GROUP BY name ORDER BY SUM(amount) DESC LIMIT 5
|
||||
----
|
||||
Sports 5314.210000
|
||||
Sci-Fi 4756.980000
|
||||
Animation 4656.300000
|
||||
Drama 4587.390000
|
||||
Comedy 4383.580000
|
||||
|
||||
# these four queries are equivalent, see https:www.jooq.org/benchmark
|
||||
query TTI
|
||||
SELECT first_name, last_name, count(*) FROM actor a JOIN film_actor fa USING (actor_id) WHERE last_name LIKE 'A%' GROUP BY fa.actor_id, a.first_name, a.last_name ORDER BY count(*) DESC
|
||||
----
|
||||
KIRSTEN AKROYD 34
|
||||
CHRISTIAN AKROYD 32
|
||||
ANGELINA ASTAIRE 31
|
||||
KIM ALLEN 28
|
||||
CUBA ALLEN 25
|
||||
DEBBIE AKROYD 24
|
||||
MERYL ALLEN 22
|
||||
|
||||
query TTI
|
||||
SELECT first_name, last_name, count(*) FROM ( SELECT * FROM actor WHERE last_name LIKE 'A%' ) a JOIN film_actor USING (actor_id) GROUP BY a.actor_id, a.first_name, a.last_name ORDER BY count(*) DESC
|
||||
----
|
||||
KIRSTEN AKROYD 34
|
||||
CHRISTIAN AKROYD 32
|
||||
ANGELINA ASTAIRE 31
|
||||
KIM ALLEN 28
|
||||
CUBA ALLEN 25
|
||||
DEBBIE AKROYD 24
|
||||
MERYL ALLEN 22
|
||||
|
||||
query TTI
|
||||
SELECT * FROM ( SELECT first_name, last_name, ( SELECT count(*) FROM film_actor fa WHERE a.actor_id = fa.actor_id ) AS c FROM actor a WHERE last_name LIKE 'A%' ) a WHERE c > 0 ORDER BY c DESC
|
||||
----
|
||||
KIRSTEN AKROYD 34
|
||||
CHRISTIAN AKROYD 32
|
||||
ANGELINA ASTAIRE 31
|
||||
KIM ALLEN 28
|
||||
CUBA ALLEN 25
|
||||
DEBBIE AKROYD 24
|
||||
MERYL ALLEN 22
|
||||
|
||||
query TTI
|
||||
SELECT first_name, last_name, c FROM actor JOIN ( SELECT actor_id, count(*) c FROM film_actor GROUP BY actor_id ) fa USING (actor_id) WHERE last_name LIKE 'A%' ORDER BY c DESC
|
||||
----
|
||||
KIRSTEN AKROYD 34
|
||||
CHRISTIAN AKROYD 32
|
||||
ANGELINA ASTAIRE 31
|
||||
KIM ALLEN 28
|
||||
CUBA ALLEN 25
|
||||
DEBBIE AKROYD 24
|
||||
MERYL ALLEN 22
|
||||
|
||||
Reference in New Issue
Block a user