DB Quacks SQL Tutorial · Chapter 6

Inception: We Need to Go Deeper

Dream architect duck approaches in dark glasses. We must go deeper! Find ducks older than average age, but I dont know the average! Use a query inside another query - nested intelligence!

Your task

Find all ducks from the ducks table whose age is greater than the average age of all ducks. You will be using a subquery to calculate the average age first.

Hint

You need to use a query inside another query - think about how to calculate the average first, then use that result.

Expected result

A table showing ducks whose age is above the average age.

Tables

duck_diaries (10 rows)

columntype
diary_idBIGINT
duck_idBIGINT
entry_dateDATE
diary_textVARCHAR
moodVARCHAR

duck_surveys (5000 rows)

columntype
survey_idBIGINT
duck_idBIGINT
ageBIGINT
favorite_foodVARCHAR
favorite_pondBIGINT
swimming_ratingBIGINT
migration_preferenceVARCHAR
social_behaviorVARCHAR
health_statusVARCHAR
activity_levelVARCHAR
survey_dateDATE
survey_locationBIGINT

ducks (15 rows)

columntype
idBIGINT
nameVARCHAR
ageBIGINT
speciesVARCHAR
birth_dateDATE
arrival_dateDATE

ponds (3 rows)

columntype
pond_idBIGINT
pond_nameVARCHAR
location_latDOUBLE
location_lngDOUBLE
capacityBIGINT
featuresVARCHAR[]
amenitiesVARCHAR[]

Database: https://dbquacks.com/data/databases/tutorial.duckdb

This page as markdown: https://dbquacks.com/tutorial/29.md

Start level 29 →

DuckDB docs for this lesson