From 23cdf0eb5eca22c2e84729860da5a02992a53482 Mon Sep 17 00:00:00 2001 From: Davi Santos Date: Sat, 18 May 2024 12:22:55 -0300 Subject: [PATCH] Add files via upload --- [Davi]sql-self-cross-join.sql | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 [Davi]sql-self-cross-join.sql diff --git a/[Davi]sql-self-cross-join.sql b/[Davi]sql-self-cross-join.sql new file mode 100644 index 0000000..2b01a50 --- /dev/null +++ b/[Davi]sql-self-cross-join.sql @@ -0,0 +1,22 @@ +-- Get all pairs of actors that worked together. +USE SAKILA; +SELECT DISTINCT A1.ACTOR_ID AS ACTOR_ID, A1.FIRST_NAME AS ACTOR1_FIRST_NAME, A1.LAST_NAME AS ACTOR1_LAST_NAME, +A2.ACTOR_ID AS ACTOR2_ID, A2.FIRST_NAME AS ACTOR2_FIRST_NAME, A2.LAST_NAME AS ACTOR2_LAST_NAME +FROM FILM_ACTOR FA1 +JOIN FILM_ACTOR FA2 ON FA1.FILM_ID = FA2.FILM_ID AND FA1.ACTOR_ID < FA2.ACTOR_ID +JOIN ACTOR A1 ON FA1.aCTOR_ID = A1.ACTOR_ID +JOIN ACTOR A2 ON FA2.ACTOR_ID = A2.ACTOR_ID; + + +-- Get all pairs of customers that have rented the same film more than 3 times +SELECT FILM_ID, CUSTOMER_ID +FROM RENTAL R +INNER JOIN INVENTORY I +ON R.INVENTORY_ID = I.INVENTORY_ID +GROUP BY FILM_ID, CUSTOMER_ID +HAVING COUNT(*) >= 3; + +-- Get all possible pairs of actors and films. +SELECT A.ACTOR_ID, A.FIRST_NAME, A.LAST_NAME, F.FILM_ID, F.TITLE +FROM ACTOR A +CROSS JOIN FILM F; \ No newline at end of file