SQL Quest › SQL Interview Questions
SQL Interview Questions, one page each
Every practice question in the SQL Quest bank, grouped by the Skillmap skill it leans on. Each page has the problem, the schema with sample rows, a hint and a link into the browser editor.
Jump to: Querying Basics · Aggregation & Grouping · Joins · Subqueries & CTEs · Conditional Logic · Window Functions · String Functions · Date Functions · NULL Handling
Querying Basics
Your First QueryEasy · FreePick Your ColumnsEasy · FreeFilter with WHEREEasy · FreeComparison OperatorsEasy · FreeMultiple Conditions (AND / OR)Easy · FreeThe IN OperatorEasy · FreeSorting and LimitingEasy · FreeDISTINCT ValuesEasy · FreePattern Matching with LIKEEasy · FreeRecent Hit Movies (2010s)Easy · FreeWorking-Age Passengers (BETWEEN)Easy · FreeNon-Sales Roster (NOT IN)Easy · FreeDepartment Leaderboard (Multi-Key Sort)Easy · FreePassengers Without Mr. or Mrs. (NOT LIKE)Easy · FreeTop 5 EarnersEasy · FreeInsert a New CustomerEasy · FreePromote Your Best CustomersEasy · FreeDelete the Empty AccountsEasy · FreeTop 10 Banks by AssetsEasy · FreeTexas Banks Above $5BEasy · FreeDistinct Charter ClassesEasy · FreeNational Association BanksEasy · FreeTop 10 Manhattan Properties by Assessed ValueEasy · FreePre-1920 NYC BuildingsEasy · FreeDistinct ACRIS Property TypesEasy · FreeLLC and Realty OwnersEasy · FreeTop 10 by Tool WearEasy · FreeHigh-Quality Products OnlyEasy · FreeDistinct FMEA CategoriesEasy · FreeAll Failure Mode ReferenceEasy · FreeMedium Quality ProductsEasy · FreeGive the Top Performers a RaiseMedium · Free
Aggregation & Grouping
Counting RowsEasy · FreeSUM, AVG, MIN, MAXEasy · FreeGROUP BY BasicsEasy · FreeMonthly Order CountEasy · FreeHow Many Genres Do We Cover? (DISTINCT)Easy · FreeFemale Survivor CountEasy · FreeAverage Salary by DepartmentEasy · FreeHigh-Volume Categories (HAVING)Easy · FreeMovie Title Initial Letter Histogram (SUBSTR)Easy · FreeNational Total DepositsEasy · FreeBank Count Per StateEasy · FreeStates With 5 or More BanksEasy · FreeProperties Per BoroughEasy · FreeTotal Assessed ValueEasy · FreeCommon Building ClassesEasy · FreeQuality Grade DistributionEasy · FreeAverage Sensor ReadingsEasy · FreeQuality Grades With 100+ ProductsEasy · FreeFailure Count by ModeEasy · FreeMonthly Spend Per AccountEasy · FreeChargeback Reason Codes: Resolved and Still OpenEasy · FreeSpend by Day of WeekEasy · FreeThe Ledger's First Week, Day by DayEasy · FreeCard Spend by Category, August 2026Easy · FreeClass Survival BreakdownMedium · FreeDepartment Roster with GROUP_CONCATMedium · FreeFull Survival Dashboard by ClassMedium · FreeGenre Financial ReportMedium · FreeDepartment Compensation ReportMedium · FreeConsistent Director AnalysisMedium · FreePivot: Order Status by CountryMedium · FreeGenre Box Office ReportMedium · FreeHighest Total Salary Budget DepartmentMedium · FreeTitle Social Survival AnalysisMedium · FreeFind Duplicate EmailsMedium · FreeDepartment Performance RateMedium · FreeSurvival Cross-Tab: Class × SexMedium · FreePerformance vs Salary AnalysisMedium · FreeDirector Consistency ReportMedium · FreeGROUP BY + HAVINGMedium · FreeSenior Passengers by PortMedium · FreeDirector Rating VolatilityMedium · FreeDepartment Tenure SpanMedium · FreeMonth-over-Month Customer GrowthMedium · FreeDay-of-Week Order Pattern (strftime)Medium · FreeActive Spender Cohort (HAVING)Medium · FreeGenre-Spanning Directors (HAVING)Medium · FreeFailure Clustering — State + YearMedium · FreeHow Long Has Each Card Been Active?Medium · FreeMonthly Active UsersMedium · FreeDaily Active CustomersHard · ProOrder Status DashboardHard · ProCustomers with Orders in ALL CategoriesHard · Pro
Joins
Your First JOINEasy · FreeJOIN with a FilterEasy · FreeLEFT JOIN: Watch the NULLs AppearEasy · FreeCounting Across a JOINEasy · FreeTransaction Share by Merchant CategoryEasy · FreeSignup-Month Cohort SpendEasy · FreeCard Spend by CountryEasy · FreeTransactions at High-Risk MerchantsEasy · FreeCustomers Who Never OrderedMedium · FreeLEFT JOIN NULL Semantics: Inactive CustomersMedium · FreeManagement Hierarchy OverviewMedium · FreeCount Direct ReportsMedium · FreeCustomer Recency AnalysisMedium · FreeMembership Tier Revenue AnalysisMedium · FreeLEFT JOIN: Keep EveryoneMedium · FreeSelf-Join: Employee and ManagerMedium · FreeMulti-Month Active CustomersMedium · FreeInactive Customers by TierMedium · FreeEmployee + Manager Pairs (Self Join)Medium · FreeEarning More Than the Boss (Self Join)Medium · FreeSame-Year Hires in Same Department (Self Join)Medium · FreeCountry × Category Coverage Matrix (Cross Join)Medium · FreeBonus What-If Matrix (Cross Join + VALUES)Medium · FreeMembership × Country Activity (Cross Join)Medium · FreeBank with Most Recent Net IncomeMedium · FreeAverage Tier 1 Ratio Per StateMedium · FreeBank with Branch Count and IncomeMedium · FreeBig-Ticket Sales with PropertiesMedium · FreeAvg DEED Amount Per BoroughMedium · FreeProperty Sale + BuyerMedium · FreeSensor Readings of Failed UnitsMedium · FreeFailure Rate Per Quality TypeMedium · FreePower Envelope CheckMedium · FreeFull Failure ProfileMedium · FreeFailure Mode Catalog JoinMedium · FreeTier 1 Capital Below Well-Capitalized ThresholdMedium · FreeGeographic Concentration — Single-State BanksMedium · FreeTrust Banks vs Others — NPL Profile ComparisonMedium · FreeCross-Account Collusion — Shared Device FingerprintMedium · FreeDormant Cards — No Transactions in the Last 14 DaysMedium · FreeChargeback Rate Per MerchantMedium · FreeTop-up Methods by PlanMedium · FreeUsers Who Never Sent MoneyMedium · FreeEmployees Earning More Than ManagerHard · ProEmployees with Similar SalariesHard · ProDetect Repeat Buyers Within 7 DaysHard · ProConsecutive IDsHard · ProCustomer Lifetime ValueHard · ProSelf-Join: Manager Salary ComparisonHard · ProAnti-Join Pipeline: Unmatched RecordsHard · ProCustomer Lifetime Value PipelineHard · ProSelf-Join: Repeat Orders Within a WeekHard · ProVelocity Rule — 5+ Transactions in 5 MinutesHard · ProCards That Never Spend at HomeHard · ProTwo Swipes at the Same Merchant Inside a DayHard · ProFX Fee Take Rate by CurrencyHard · Pro
Subqueries & CTEs
A Subquery That Returns One ValueEasy · FreeA Subquery That Returns a Set (IN)Easy · FreeGive a Query a Name (WITH)Easy · FreeMovies Rated Above the AverageEasy · FreeEvery Film by a Director Who Once Hit 8.5Easy · FreeFilter on an Average You Just ComputedEasy · FreeBetter Than Its Own GenreEasy · FreeWho Manages NobodyEasy · FreeBelow Department AverageMedium · FreeUNION ALL Dedup: Cross-Dataset SearchMedium · FreeAbove-Average Departments (Derived Table)Medium · FreeEXISTS vs IN: Departments with Top PerformersMedium · FreeGenres Without BlockbustersMedium · FreeDepartments With High EarnersMedium · FreeHighest Rated by GenreMedium · FreeSimple Subquery: Above AverageMedium · FreeYour First CTE (WITH Clause)Medium · FreeSubquery in FROM (Derived Table)Medium · FreeAbove-Department-Average EarnersMedium · FreeCustomers Without OrdersMedium · FreeDelete Duplicate Records, Keep the OriginalMedium · FreeRecompute a Stale CounterMedium · FreeBanks Above National Average AssetsMedium · FreeAbove-Median NPL BanksMedium · FreeActive and Recently FailedMedium · FreeAbove-Average-Assess PropertiesMedium · FreeTop Buyers by VolumeMedium · FreeCombined Sales and Permits ActivityMedium · FreeAbove-Average Tool WearMedium · FreeTop Failure Mode by QualityMedium · FreeROA Outliers — Top 5% by ReturnMedium · FreeMonth-over-Month Spend Growth by CategoryMedium · FreeCardholders Who Have Never Disputed a ChargeMedium · FreeSpend and Disputes Per Cardholder — Without the Fan-OutMedium · FreeSignup Cohort Activation Within 30 DaysMedium · FreeWealthy Survivor ProfileHard · ProOrder Sessionization by CustomerHard · ProCumulative Distinct Customers Over TimeHard · FreeTop Spender Per CountryHard · ProRunning Total RevenueHard · FreeHighest Fare Per PortHard · ProNth Highest Salary per DepartmentHard · ProYear-over-Year GrowthHard · FreeCorrelated Subquery: Employees Above Department MedianHard · ProRecursive Team Size RollupHard · ProGenres in Common (INTERSECT)Hard · ProEngagement Streaks (3+ Orders, ≤7-Day Gaps)Hard · ProTop-N Products per CategoryHard · ProDepartment Budget AnalysisHard · ProTop Spender per Membership TierHard · ProRecursive Org Chart TraversalHard · ProIsland Length ClassificationHard · ProMulti-CTE Revenue PipelineHard · FreeCustomer Retention CohortHard · ProActive Properties with PermitsHard · ProFailure Rate by Torque BucketHard · ProBanks with NPL Above 2-SigmaHard · Pro3-Sigma Anomaly: Transaction Amount OutliersHard · ProRecursive CTE — Chargeback Chain InvestigationHard · ProDisputed Spend by Risk Tier and CategoryHard · ProHow Concentrated Is the Spend?Hard · ProTop 10% Users by Transaction VolumeHard · ProMonth-over-Month Volume GrowthHard · ProTop 3 Spending Categories per CountryHard · Pro
Conditional Logic
Calculated ColumnsEasy · FreeComp Tier LabelsEasy · FreeMembership Display LabelsEasy · FreeRounded Revenue: Top 10 from 2015+Easy · FreeAsset Tier ClassificationEasy · FreeBuilding Age TierEasy · FreeTool Wear Stress TierEasy · FreeMovie Rating Tier BreakdownMedium · FreeCategory Revenue with RelabelingMedium · FreeAge Group Survival AnalysisMedium · FreeIntroduction to CASE WHENMedium · FreeConditional Counting with CASEMedium · FreeFamily Size Survival BucketsMedium · FreeBonus Tier with Cross-ConditionsMedium · FreePromotion Eligibility MatrixMedium · FreeTrust and Savings BanksMedium · FreeLLC vs Individual BuyersMedium · FreeTicket-Size Mix by CategoryMedium · FreeDays to KYC Verification by CountryMedium · FreeReferred vs Organic: First-Month SpendMedium · FreeOrder Funnel ConversionHard · ProCard Decline Rate by PlanHard · Pro
Window Functions
Your First Window FunctionEasy · FreeEach Salary's Share of PayrollEasy · FreeRank Everyone by SalaryEasy · FreeWindow Functions: ROW_NUMBERMedium · FreeRANK vs DENSE_RANK Side-by-SideMedium · FreeTop 3 Salary Tiers (DENSE_RANK)Medium · FreeMost Recent Order Per Customer (ROW_NUMBER)Medium · FreeSecond-Highest Earner Per Department (ROW_NUMBER)Medium · FreeSalary vs Department Average (PARTITION BY)Medium · FreeThe Previous Order's Total (LAG)Medium · FreeRunning Total of OrdersMedium · FreeTop 3 Merchants Per Category by SpendMedium · FreeBusiest Merchants, and What a Tie Does to the RankMedium · FreeEach Merchant's Share of Its CategoryMedium · FreeRunning Total of Daily Card SpendMedium · FreeSalary Percentile RankingHard · ProFirst and Last Order per CustomerHard · ProCumulative Revenue Share (Pareto)Hard · ProMoving Average with Dynamic WindowHard · ProSalary Rank Within DepartmentHard · FreeRank Movies by RatingHard · ProSalary Lead-Lag Gap Within DepartmentHard · ProTop Earner Per DepartmentHard · Pro7-Day Rolling Revenue AverageHard · Free3-Movie Rolling Average RevenueHard · ProFare Percentile RankingHard · ProRevenue Share by Category (Window %)Hard · ProRANK vs DENSE_RANK: Rating GapsHard · ProMedian Salary Without PERCENTILEHard · ProDeduplicate Orders with ROW_NUMBERHard · ProSliding Window Max RevenueHard · ProMonth-over-Month Revenue GrowthHard · ProDepartment Salary Percentile BucketsHard · ProSecond Highest Salary per DepartmentHard · ProYear-over-Year Movie Rating TrendsHard · ProEarliest Movie per GenreHard · ProTop 3 Banks Per State by AssetsHard · ProQoQ Asset Growth — Top BanksHard · ProTop 3 Sales Per BoroughHard · ProYoY Sales Volume Per BoroughHard · ProTop 5 Torque Per QualityHard · ProRolling Tool Wear TrendHard · ProNPL Quarter-over-Quarter AccelerationHard · ProGeographic Mismatch — Impossible TravelHard · ProPeak Rolling 30-Day Spend Per AccountHard · ProFirst-to-Second Transaction LatencyHard · Pro
String Functions
Long-Named PassengersEasy · FreeEmployee Display Cards (Concat)Easy · FreeCountry Codes in UppercaseEasy · FreeExtract Family Names (SUBSTR + INSTR)Easy · FreeYear Code from Order Date (SUBSTR)Easy · FreePosition of '@' in Email (INSTR)Easy · FreeEmail Provider Customer AnalysisMedium · FreeEmail Username Extract (SUBSTR + INSTR)Medium · FreePassenger Family Survival AnalysisHard · Pro
Date Functions
January 2024 OrdersEasy · FreePre-1900 BanksEasy · Free2025 SalesEasy · FreeEmployee Tenure BandsMedium · FreeQuarterly Hiring Cohort ReportMedium · FreeMonthly Order TrendsMedium · FreeDate Functions: How Long Ago?Medium · FreeMonthly Order Volume in 2024Medium · FreeTenure in Months (Date Math)Medium · FreeCustomer Signup Quarter (Date + CASE)Medium · FreeFailed Banks Recent DecadeMedium · Free