Skip to content

Commit 92fafdd

Browse files
committed
Complete MORE Join exercises.
1 parent 200f87f commit 92fafdd

File tree

1 file changed

+106
-1
lines changed

1 file changed

+106
-1
lines changed

sqlzoo.sql

Lines changed: 106 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -489,4 +489,109 @@ SELECT mdate, team1, SUM(CASE WHEN teamid = team1 THEN 1 ELSE 0 END) AS score1,
489489
SUM(CASE WHEN teamid = team2 THEN 1 ELSE 0 END) AS score2 FROM
490490
game LEFT JOIN goal ON (id=matchid)
491491
GROUP BY mdate, team1, team2
492-
ORDER BY mdate, matchid, team1, team2
492+
ORDER BY mdate, matchid, team1, team2
493+
494+
--MORE JOIN
495+
496+
--1
497+
498+
SELECT id, title
499+
FROM movie
500+
WHERE yr=1962
501+
502+
--2
503+
504+
SELECT yr FROM movie
505+
WHERE title='Citizen Kane';
506+
507+
--3
508+
509+
SELECT id, title, yr
510+
FROM movie
511+
WHERE title LIKE '%Star Trek%'
512+
ORDER BY yr;
513+
514+
--4
515+
516+
SELECT id
517+
FROM actor
518+
WHERE name='Glenn Close';
519+
520+
--5
521+
522+
SELECT id
523+
FROM movie
524+
WHERE title='Casablanca';
525+
526+
--6
527+
528+
SELECT name FROM actor, casting
529+
WHERE id=actorid AND movieid=(SELECT id FROM movie WHERE title='Casablanca');
530+
531+
--7
532+
533+
SELECT name FROM actor, casting
534+
WHERE id=actorid AND movieid=(SELECT id FROM movie WHERE title='Alien');
535+
536+
--8
537+
538+
SELECT title FROM movie
539+
JOIN casting ON (id=movieid AND actorid=(SELECT id FROM actor WHERE name='Harrison Ford'));
540+
541+
--9
542+
543+
SELECT title FROM movie
544+
JOIN casting ON (id=movieid AND actorid=(
545+
SELECT id FROM actor WHERE name='Harrison Ford' AND ord <> 1));
546+
547+
--10
548+
549+
SELECT title, name
550+
FROM movie JOIN casting ON (id=movieid)
551+
JOIN actor ON (actor.id=actorid)
552+
WHERE ord=1 AND yr=1962;
553+
554+
--11
555+
556+
SELECT yr, COUNT(title)
557+
FROM movie JOIN casting ON movie.id=movieid
558+
JOIN actor ON actorid=actor.id
559+
WHERE name='Rock Hudson'
560+
GROUP BY yr
561+
HAVING COUNT(title) > 1
562+
ORDER BY COUNT(title) DESC
563+
LIMIT 2;
564+
565+
--12
566+
567+
SELECT title, name FROM movie
568+
JOIN casting x ON movie.id=movieid
569+
JOIN actor ON actor.id=actorid
570+
WHERE ord=1 AND movieid IN
571+
(SELECT movieid FROM casting y
572+
JOIN actor ON actor.id=actorid
573+
WHERE name='Julie Andrews');
574+
575+
--13
576+
577+
SELECT name FROM actor
578+
JOIN casting ON (id=actorid AND (
579+
SELECT COUNT(ord) FROM casting WHERE actorid = actor.id AND ord=1)>=15)
580+
GROUP BY name;
581+
582+
--14
583+
584+
SELECT title, COUNT(actorid)
585+
FROM movie JOIN casting on id=movieid
586+
WHERE yr=1978
587+
GROUP BY title
588+
ORDER BY cast DESC;
589+
590+
--15
591+
592+
SELECT DISTINCT name
593+
FROM actor JOIN casting ON id=actorid
594+
WHERE movieid IN (
595+
SELECT movieid FROM casting JOIN actor ON (actorid=id AND name='Art Garfunkel'))
596+
AND name != 'Art Garfunkel'
597+
GROUP BY name;

0 commit comments

Comments
 (0)