superhero Database Schema

Database Description

Database containing superhero information including powers, attributes, and publishers.

Schema Structure
superhero
Column Name Description
id -
superhero_name -
full_name -
gender_id -
eye_colour_id -
hair_colour_id -
skin_colour_id -
race_id -
publisher_id -
alignment_id -
height_cm -
weight_kg -
gender
Column Name Description
id -
gender -
colour
Column Name Description
id -
colour -
race
Column Name Description
id -
race -
publisher
Column Name Description
id -
publisher_name -
alignment
Column Name Description
id -
alignment -
superpower
Column Name Description
id -
power_name -
attribute
Column Name Description
id -
attribute_name -
hero_power
Column Name Description
hero_id -
power_id -
hero_attribute
Column Name Description
hero_id -
attribute_id -
attribute_value -
Example Queries

SQL Query:
SELECT DISTINCT T1.superhero_name FROM superhero AS T1 INNER JOIN colour AS T2 ON T1.eye_colour_id = T2.id WHERE T1.height_cm BETWEEN 170 AND 190 AND T2.colour = 'No Colour'
Evidence:

height from 170 to 190 refers to height_cm BETWEEN 170 AND 190; no eye color refers to colour = 'No Colour'

Difficulty: moderate

SQL Query:
SELECT T3.power_name FROM superhero AS T1 INNER JOIN hero_power AS T2 ON T1.id = T2.hero_id INNER JOIN superpower AS T3 ON T2.power_id = T3.id WHERE T1.superhero_name = 'Deathlok'
Evidence:

superpowers refers to power_name; Deathlok refers to superhero_name = 'Deathlok'

Difficulty: simple

SQL Query:
SELECT T1.superhero_name FROM superhero AS T1 INNER JOIN hero_attribute AS T2 ON T1.id = T2.hero_id WHERE T2.attribute_value BETWEEN 75 AND 80
Evidence:

names of superheroes refers to superhero_name; attribute value between 75 to 80 refers to attribute_value BETWEEN 75 AND 80;

Difficulty: simple

SQL Query:
SELECT CAST(COUNT(CASE WHEN T2.colour = 'Blue' THEN 1 ELSE NULL END) AS REAL) * 100 / COUNT(T1.id) FROM superhero AS T1 INNER JOIN colour AS T2 ON T1.eye_colour_id = T2.id
Evidence:

percentage = MULTIPLY(DIVIDE(SUM(superhero_name WHERE color = 'Blue'), COUNT(superhero_name)), 100.0); blue eyes refers to color = 'Blue' and color.id = eye_colour_id = 7;

Difficulty: moderate

SQL Query:
SELECT T4.gender FROM superhero AS T1 INNER JOIN hero_power AS T2 ON T1.id = T2.hero_id INNER JOIN superpower AS T3 ON T2.power_id = T3.id INNER JOIN gender AS T4 ON T1.gender_id = T4.id WHERE T3.power_name = 'Phoenix Force'
Evidence:

ability of Phoenix Force refers to power_name = 'Phoenix Force';

Difficulty: moderate
Back to Database Explorer