Dog Data

In each question below, you will define a new table based on the following tables.

CREATE TABLE parents AS
  SELECT 'abraham' AS parent, 'barack' AS child UNION
  SELECT 'abraham'          , 'clinton'         UNION
  SELECT 'delano'           , 'herbert'         UNION
  SELECT 'fillmore'         , 'abraham'         UNION
  SELECT 'fillmore'         , 'delano'          UNION
  SELECT 'fillmore'         , 'grover'          UNION
  SELECT 'eisenhower'       , 'fillmore';

CREATE TABLE dogs AS
  SELECT 'abraham' AS name, 'long' AS fur, 26 AS height UNION
  SELECT 'barack'         , 'short'      , 52           UNION
  SELECT 'clinton'        , 'long'       , 47           UNION
  SELECT 'delano'         , 'long'       , 46           UNION
  SELECT 'eisenhower'     , 'short'      , 35           UNION
  SELECT 'fillmore'       , 'curly'      , 32           UNION
  SELECT 'grover'         , 'short'      , 28           UNION
  SELECT 'herbert'        , 'curly'      , 31;

CREATE TABLE sizes AS
  SELECT 'toy' AS size, 24 AS min, 28 AS max UNION
  SELECT 'mini'       , 28       , 35        UNION
  SELECT 'medium'     , 35       , 45        UNION
  SELECT 'standard'   , 45       , 60;

Your tables should still perform correctly even if the values in these tables change. For example, if you are asked to list all dogs with a name that starts with h, you should write:

SELECT name FROM dogs WHERE 'h' <= name AND name < 'i';

Instead of assuming that the dogs table has only the data above and writing

SELECT 'herbert';

The former query would still be correct if the name grover were changed to hoover or a row was added with the name harry.