From 8da1df6ffab263ba24741f071c847a2c6074ddae Mon Sep 17 00:00:00 2001 From: Dee Date: Mon, 2 Aug 2021 11:58:05 -0400 Subject: [PATCH 1/4] part 2 answered --- .DS_Store | Bin 0 -> 6148 bytes answers/part1.sql | 1 + answers/part2.sql | 17 + pokemon_sql/pokemon_pokemon_trainer.sql | 28805 ++++++++++++++++++++++ pokemon_sql/pokemon_pokemons.sql | 657 + pokemon_sql/pokemon_trainers.sql | 11861 +++++++++ pokemon_sql/pokemon_types.sql | 19 + 7 files changed, 41360 insertions(+) create mode 100644 .DS_Store create mode 100644 answers/part1.sql create mode 100644 answers/part2.sql create mode 100644 pokemon_sql/pokemon_pokemon_trainer.sql create mode 100644 pokemon_sql/pokemon_pokemons.sql create mode 100644 pokemon_sql/pokemon_trainers.sql create mode 100644 pokemon_sql/pokemon_types.sql diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6f50e2c1040001ce4db42ba88c536acca0d470dc GIT binary patch literal 6148 zcmeHK!EVz)5S>j!Yo|iZp%T3y`NFM=lBSBp0m+2)&;t^}2o8W!8%NZ_^@iA~MMIFq zU$h^=fA9r-4!qf2qNHiX4I#86&A!>$d29Ktwd*A!(Vxa0q9zeJaK@U8<_6<&_BE@S z%qCE%IYu<0{5X~GqI9j=CjLbQcOSZX=(jrgc1HM9>ZHdl_4V9rZGwSfZ8)) zMnf<^QmR*d!TN^E&YxLPnUAAXvA##+G|7v0`-iA))bDI=IZnfA+-Cm-i z6|f3e1y}*IfjQe&4y%Awz$$P}0p1@xIHPZ{(x|o$H0lZftRt-qG5<6&$1~^~tTbW- zCNveOslr?_gr+0!nL6KKrBTyKs3&6{^JHOeC_+6Qc~6y-@HN`jDqs~@RbWGRn|%Hs z-G2XHCE1=;z$)-xDIn^DV9>`anX`56<@l`i;3sf4uB$XIC Date: Mon, 2 Aug 2021 20:45:42 -0400 Subject: [PATCH 2/4] joins and groups --- answers/part3.sql | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 answers/part3.sql diff --git a/answers/part3.sql b/answers/part3.sql new file mode 100644 index 0000000..ab1efd5 --- /dev/null +++ b/answers/part3.sql @@ -0,0 +1,46 @@ +# What is each pokemons primary type +SELECT pokemons.name, types.name AS power1 + FROM pokemon.pokemons + INNER JOIN pokemon.types +ON pokemons.primary_type = types.id; + +#What is Rufflet's secondary type +SELECT p.name, t.name + FROM pokemons p +JOIN types t +ON p.secondary_type = t.id + WHERE p.name = 'Rufflet'; + +# What are the names of the pokemon that belong to the trainer with ID 303 +SELECT ptr.trainerID, p.name + FROM pokemon_trainer ptr +JOIN pokemons p + ON p.id = ptr.pokemon_id + WHERE ptr.trainerID = 303; + +# How many pokemon have a secondary type Poison +SELECT t.name, COUNT(*) + FROM types t +JOIN pokemons p + ON p.secondary_type = t.id + WHERE t.name = 'Poison'; + +# What are all the primary types and how many pokemon have that type +SELECT t.name, COUNT(*) + FROM types t +JOIN pokemons p + ON p.primary_type = t.id + GROUP BY t.name; + +# How many pokemon at level 100 does each trainer with more than 1 level 100 have +SELECT ptr.pokelevel, COUNT(*) + FROM pokemon_trainer ptr +JOIN pokemons p + ON p.id = ptr.pokemon_id + GROUP BY ptr.trainerID, ptr.pokelevel + HAVING ptr.pokelevel = 100; + +# How many pokemon only belong to one trainer and no other +SELECT p.name, COUNT(*) FROM pokemon_trainer ptr JOIN pokemons p ON p.id = ptr.pokemon_id GROUP BY p.name HAVING COUNT(*)= 1; +SELECT COUNT(pokemon_id),p.name FROM pokemon_trainer ptr JOIN pokemons p ON p.id = ptr.pokemon_id GROUP BY pokemon_id HAVING COUNT(pokemon_id)=1; + From 6361a3272a36e02b8bcb6e382b6312962f93745a Mon Sep 17 00:00:00 2001 From: Dee Date: Mon, 2 Aug 2021 21:23:57 -0400 Subject: [PATCH 3/4] final report join --- answers/part4.sql | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 answers/part4.sql diff --git a/answers/part4.sql b/answers/part4.sql new file mode 100644 index 0000000..388a174 --- /dev/null +++ b/answers/part4.sql @@ -0,0 +1,8 @@ +# Final Report , query sorted by trainer with highest pokemon level +SELECT p.name PokemonName , tr.trainername , ptr.pokelevel Level , t.name PrimaryType , ty.name SecondaryType +FROM pokemons p + JOIN pokemon_trainer ptr ON p.id = pokemon_id + JOIN trainers tr ON tr.trainerID = ptr.trainerID + RIGHT JOIN types t ON p.primary_type = t.id + RIGHT JOIN types ty ON p.secondary_type = ty.id + ORDER BY ptr.pokelevel DESC; From 1bfc6c434369b54fe8931b728c33fa3ce7ed93a0 Mon Sep 17 00:00:00 2001 From: Dee Date: Tue, 3 Aug 2021 14:35:25 -0400 Subject: [PATCH 4/4] final report with null secondarys included --- answers/part4.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/answers/part4.sql b/answers/part4.sql index 388a174..b68ebc7 100644 --- a/answers/part4.sql +++ b/answers/part4.sql @@ -3,6 +3,6 @@ SELECT p.name PokemonName , tr.trainername , ptr.pokelevel Level , t.name Primar FROM pokemons p JOIN pokemon_trainer ptr ON p.id = pokemon_id JOIN trainers tr ON tr.trainerID = ptr.trainerID - RIGHT JOIN types t ON p.primary_type = t.id - RIGHT JOIN types ty ON p.secondary_type = ty.id + LEFT JOIN types t ON p.primary_type = t.id + LEFT JOIN types ty ON p.secondary_type = ty.id ORDER BY ptr.pokelevel DESC;