From 97607c7e3a78f6f14071017d4a9452500b0080b1 Mon Sep 17 00:00:00 2001 From: jgiroso Date: Thu, 29 Jul 2021 21:49:11 -0400 Subject: [PATCH 1/3] part 2 complete --- .DS_Store | Bin 0 -> 6148 bytes answers/.DS_Store | Bin 0 -> 6148 bytes answers/Part 2.sql | 19 + answers/Part 3.sql | 0 answers/Part 4.sql | 0 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 + 9 files changed, 41361 insertions(+) create mode 100644 .DS_Store create mode 100644 answers/.DS_Store create mode 100644 answers/Part 2.sql create mode 100644 answers/Part 3.sql create mode 100644 answers/Part 4.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..ca9aa7886ebd68b452fb21701bfbb034023eb637 GIT binary patch literal 6148 zcmeH~-)_?|6vmIY!rV@1y+C3&NV(yPs%kfw-~uU>?qU~6h#gb=*C{6OB)A=Q~wrkg}??~B@jT?=(!I>(9A}l6(FC4$--m|bci){OaQt97z7`;q} z<)C@y_`M*wII!`jg1 zp9aqHtol|fqwv6lNrjqJVUHNXq+{H(alX~cs7WVb4vqw5V0LW~6cMOaH4C#uZL5FE`XV;!54~SC7xW@`>Ot8Uo$3TCvN#{Po4IVh} zCw!g%=Av2NE}G?n87j||K6$Ig2spqcc`L3p;e=~m;}K1pBS$+pr#+mP9h|cs&g(Z0 zt6`x)C=d#S0-->U0z9+Th9ko$LxE5r6!=s?_lHDR%#OvdZXGP@6M(4K=xU7hvaFos zm>r8DduU=*qEW@47-Dp`C(p}{#n9*we|(64`Qz~-_3Ioz)pSTUj4~7m1=Qf$Y6dopK(!sw*FY2p0$a7O;^*rq5+L@>k`0 Date: Thu, 29 Jul 2021 23:11:38 -0400 Subject: [PATCH 2/3] part 3. can't get last one --- answers/Part 3.sql | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/answers/Part 3.sql b/answers/Part 3.sql index e69de29..c024dcb 100644 --- a/answers/Part 3.sql +++ b/answers/Part 3.sql @@ -0,0 +1,23 @@ +# Question: What is each pokemon's primary type? +SELECT p.name, t.name FROM pokemons p JOIN types t ON p.primary_type = t.id; + +# Question: What is Rufflet's secondary type? +# Answer: Flying +SELECT t.name FROM pokemons p JOIN types t ON p.secondary_type = t.id WHERE p.name = 'Rufflet'; + +# Question: What are the names of the pokemon that belong to the trainer with trainerID 303? +# Answer: Wailord, Vileplume +SELECT p.name FROM pokemon_trainer pt JOIN pokemons p ON pt.pokemon_id = p.id WHERE pt.trainerID = 303; + +# Question: How many pokemon have a secondary type Poison +# Answer: 31 +SELECT COUNT(secondary_type) FROM pokemons p JOIN types t ON p.secondary_type = t.id WHERE t.name = 'Poison'; + +# Question: What are all the primary types and how many pokemon have that type? +SELECT t.name, COUNT(primary_type) FROM pokemons p JOIN types t ON p.primary_type = t.id GROUP BY t.name; + +# Question: How many pokemon at level 100 does each trainer with at least one level 100 pokemone have? (Hint: your query should not display a trainer +SELECT COUNT(pokelevel) FROM pokemon_trainer WHERE pokelevel = 100 GROUP BY trainerID; + +# Question: How many pokemon only belong to one trainer and no other? +# Answer: From 93052f3333e77d4584efc94a7378109b565bce63 Mon Sep 17 00:00:00 2001 From: jgiroso Date: Fri, 30 Jul 2021 22:18:46 -0400 Subject: [PATCH 3/3] lab complete --- answers/Part 3.sql | 5 +++-- answers/Part 4.sql | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/answers/Part 3.sql b/answers/Part 3.sql index c024dcb..1a29637 100644 --- a/answers/Part 3.sql +++ b/answers/Part 3.sql @@ -17,7 +17,8 @@ SELECT COUNT(secondary_type) FROM pokemons p JOIN types t ON p.secondary_type = SELECT t.name, COUNT(primary_type) FROM pokemons p JOIN types t ON p.primary_type = t.id GROUP BY t.name; # Question: How many pokemon at level 100 does each trainer with at least one level 100 pokemone have? (Hint: your query should not display a trainer -SELECT COUNT(pokelevel) FROM pokemon_trainer WHERE pokelevel = 100 GROUP BY trainerID; +SELECT DISTINCT(t.trainername), COUNT(pokelevel) FROM pokemon_trainer pt JOIN trainers t ON pt.trainerID = t.trainerID WHERE pokelevel = 100 GROUP BY pt.trainerID; # Question: How many pokemon only belong to one trainer and no other? -# Answer: +# Answer: 13 +SELECT COUNT(pokemon_id), p.name FROM pokemon_trainer pt JOIN pokemons p ON pt.pokemon_id = p.id GROUP BY pokemon_id HAVING COUNT(pokemon_id) = 1; \ No newline at end of file diff --git a/answers/Part 4.sql b/answers/Part 4.sql index e69de29..b0ee53a 100644 --- a/answers/Part 4.sql +++ b/answers/Part 4.sql @@ -0,0 +1,11 @@ +SELECT p.name AS 'Pokemon Name', +t.trainername AS 'Trainer Name', +pt.pokelevel AS 'Level', +t1.name AS 'Primary Type', +t2.name AS 'Secondary Type' +FROM pokemon_trainer pt +JOIN trainers t ON pt.trainerID = t.trainerID +JOIN pokemons p ON pt.pokemon_id = p.id +JOIN types t1 ON p.primary_type = t1.id +JOIN types t2 ON p.secondary_type = t2.id +ORDER BY (maxhp + attack + defense + spatk + spdef + speed) DESC, pt.pokelevel DESC;