| — | 001. Select All Employees | easy | |
| — | 002. Filter Employees by Salary | easy | |
| — | 003. Order Employees by Salary | easy | |
| — | 004. Count Employees | easy | |
| — | 005. Employees With Departments | easy | |
| — | 006. Distinct Job Titles | easy | |
| — | 007. Top 5 Highest-Paid Employees | easy | |
| — | 008. Employees Hired After 2022 | easy | SELECT WHERE date functions |
| — | 009. Employees Without a Manager | easy | |
| — | 010. Total Salary Budget | easy | |
| — | 011. Average Product Price | easy | |
| — | 012. Most Expensive Product | easy | |
| — | 013. Cheapest Product | easy | |
| — | 014. Customer Count by Country | easy | |
| — | 015. Products Out of Stock | easy | |
| — | 016. Employees With No Department | easy | |
| — | 017. Salary Tier Label | easy | |
| — | 018. Customer Name Search | easy | |
| — | 019. Orders in a Price Range | easy | |
| — | 020. Customers from Specific Cities | easy | |
| — | 021. Coalesce Missing Department Name | easy | |
| — | 022. Uppercase Product Names | easy | |
| — | 023. Extract Order Year | easy | SELECT date functions EXTRACT |
| — | 024. Total Orders per Customer | easy | |
| — | 025. Count Unique Product Categories | easy | |
| — | 026. Orders with Status Pending | easy | |
| — | 027. Employees Earning Above 100k | easy | |
| — | 028. Sort Products by Price Descending | easy | |
| — | 029. Paginate Products (Page 3, 5 per page) | easy | |
| — | 030. Monthly Order Count | easy | SELECT GROUP BY date functions |
| — | 031. Average Salary by Department | medium | |
| — | 032. Rank Employees by Salary | medium | window functions RANK ORDER BY |
| — | 033. Daily Running Revenue | medium | window functions SUM running total |
| — | 034. Departments with 3 or More Employees | medium | |
| — | 035. Customers with At Least One Order | medium | |
| — | 036. Customers with No Orders | medium | |
| — | 037. Products Never Ordered | medium | |
| — | 038. Employees Earning Above Their Department Average | medium | SELECT correlated subquery AVG |
| — | 039. Manager Names via Self Join | medium | SELECT self join INNER JOIN |
| — | 040. Order Line Details | medium | |
| — | 041. Top-Earning Departments (CTE) | medium | |
| — | 042. Combined List: Employees and Customers Named Alex | medium | |
| — | 043. First Order per Customer | medium | SELECT ROW_NUMBER window functions |
| — | 044. Dense Rank Products by Price Within Category | medium | SELECT DENSE_RANK window functions |
| — | 045. Salary Quartiles | medium | SELECT NTILE window functions |
| — | 046. Month-over-Month Revenue Change | medium | SELECT LAG window functions |
| — | 047. Preview Next Month Revenue with LEAD | medium | SELECT LEAD window functions |
| — | 048. All Employees and Departments (Full Outer Join) | medium | |
| — | 049. All Size-Color Combinations (Cross Join) | medium | |
| — | 050. Order Count by Status (Conditional Aggregation) | medium | SELECT CASE conditional aggregation |
| — | 051. Top 3 Products per Category by Price | medium | SELECT ROW_NUMBER window functions |
| — | 052. Find Duplicate Customer Emails | medium | |
| — | 053. Revenue Share per Category | medium | SELECT window functions SUM |
| — | 054. Year-over-Year Order Revenue Growth | medium | |
| — | 055. First Purchase Amount per Customer | medium | SELECT FIRST_VALUE window functions |
| — | 056. Most Recent Order per Customer | medium | SELECT LAST_VALUE window functions |
| — | 057. Employee Tenure in Full Years | medium | |
| — | 058. Monthly New Customer Signups | medium | SELECT GROUP BY date functions |
| — | 059. Second Highest Salary | medium | SELECT DENSE_RANK window functions |
| — | 060. Employees Sharing the Same Salary | medium | |
| — | 061. Cumulative Revenue Percentage by Department | medium | SELECT window functions SUM |
| — | 062. Products with Above-Average Rating | medium | |
| — | 063. Count Employees with Missing Salary | medium | |
| — | 064. Revenue per Unit Sold (Safe Division with NULLIF) | medium | |
| — | 065. Category Revenue Summary (Chained CTEs) | medium | |
| — | 066. Top-Spending Customers (Derived Table) | medium | |
| — | 067. Extract Email Domain | medium | SELECT string functions GROUP BY |
| — | 068. Revenue by Category and Order Status | medium | SELECT conditional aggregation CASE |
| — | 069. 7-Day Rolling Active Users | medium | SELECT window functions date functions |
| — | 070. Products with Zero Total Sales | medium | |
| — | 071. Rank Departments by Total Payroll | medium | |
| — | 072. Customer Lifetime Value | medium | |
| — | 073. Orders from Last Quarter | medium | |
| — | 074. Products per Category as Comma-Separated List | medium | SELECT string functions GROUP BY |
| — | 075. Average Days Between Customer Orders | medium | SELECT LAG window functions |
| — | 076. Monthly Order Completion Rate | medium | SELECT conditional aggregation date functions |
| — | 077. Deduplicate Rows with ROW_NUMBER | medium | SELECT ROW_NUMBER window functions |
| — | 078. Customers with High-Value Orders | medium | |
| — | 079. Customer Cohort by First Order Month | medium | |
| — | 080. 3-Month Moving Average Revenue | medium | SELECT window functions AVG |
| — | 081. Account Running Balance | medium | SELECT window functions SUM |
| — | 082. Retained Customers: Ordered in Both Month 1 and Month 2 | medium | SELECT INTERSECT date functions |
| — | 083. Find Gaps in Sequential Order IDs | medium | SELECT gaps and islands window functions |
| — | 084. Custom Sort Priority with CASE in ORDER BY | medium | |
| — | 085. Employees Who Share the Same Manager | medium | |
| — | 086. All Departments Including Empty Ones | medium | |
| — | 087. Third Highest Salary | medium | SELECT DENSE_RANK window functions |
| — | 088. Fulfilled Orders Percentage per Month | medium | SELECT conditional aggregation date functions |
| — | 089. Category with the Highest Average Price | medium | |
| — | 090. Customers Who Ordered Every Month of 2026 | medium | |
| — | 091. Managers Paid Above Team Average | hard | |
| — | 092. Longest Consecutive Login Streak | hard | gaps and islands window functions date functions |
| — | 093. Median Salary Without PERCENTILE | hard | SELECT correlated subquery CASE |
| — | 094. Org Chart: All Direct and Indirect Reports | hard | |
| — | 095. Session Identification from Login Events | hard | SELECT window functions LAG |
| — | 096. Churned vs Retained Customers | hard | |
| — | 097. Cohort Retention Matrix (Months 0–3) | hard | SELECT CTE conditional aggregation |
| — | 098. Frequently Bought Together (Market Basket) | hard | |
| — | 099. Running Balance with Overdraft Detection | hard | SELECT window functions SUM |
| — | 100. Employee Hierarchy Depth | hard | |
| — | 101. String Length Function | easy | SELECT LENGTH string functions |
| — | 102. UPPER and LOWER String Functions | easy | |
| — | 103. Trim Leading and Trailing Whitespace | easy | |
| — | 104. Concatenate First and Last Name | easy | SELECT CONCAT string functions |
| — | 105. Extract Category Code from SKU | easy | SELECT SUBSTRING string functions |
| — | 106. Replace Words in Review Text | easy | SELECT REPLACE string functions |
| — | 107. Filter Orders by Date | easy | SELECT WHERE date functions |
| — | 108. Extract Year from Hire Date | easy | SELECT EXTRACT date functions |
| — | 109. Find Orders Placed in September | easy | SELECT EXTRACT date functions |
| — | 110. Calculate Project Duration in Days | easy | SELECT DATEDIFF date functions |
| — | 111. Round Discounted Prices | easy | SELECT ROUND math functions |
| — | 112. Ceiling and Floor of Order Amounts | easy | |
| — | 113. Find Accounts Far from Target Balance | easy | |
| — | 114. Find Products with Quantity Divisible by 3 | easy | |
| — | 115. Calculate Square Area and Diagonal | easy | |
| — | 116. Return First Available Phone Number | easy | SELECT COALESCE NULL handling |
| — | 117. Avoid Division by Zero with NULLIF | easy | SELECT NULLIF NULL handling |
| — | 118. Find Top-Level Employees with No Manager | easy | |
| — | 119. Find Products with a Description | easy | |
| — | 120. Filter Employees by Salary Range | easy | |
| — | 121. Filter Products by Category Using IN | easy | |
| — | 122. Exclude Cancelled and Returned Orders | easy | |
| — | 123. Find Gmail Customers Using LIKE | easy | |
| — | 124. Match Employee Codes with _ Wildcard | easy | |
| — | 125. Find Products NOT Starting with S | easy | |
| — | 126. Filter with Multiple AND Conditions | easy | |
| — | 127. Filter with Multiple OR Conditions | easy | |
| — | 128. Mix AND and OR with Parentheses | easy | |
| — | 129. Total Amount Spent per Customer | easy | |
| — | 130. Average Rating per Product | easy | |
| — | 131. Most Recent Hire Date per Department | easy | |
| — | 132. First Product Name Alphabetically per Category | easy | |
| — | 133. COUNT(*) vs COUNT(column) | easy | |
| — | 134. Count Distinct Customers | easy | |
| — | 135. Map Status Codes to Labels with CASE WHEN | easy | SELECT CASE WHEN conditional logic |
| — | 136. Assign Salary Grade with CASE WHEN Ranges | easy | SELECT CASE WHEN conditional logic |
| — | 137. Handle NULL Bonus with CASE WHEN | easy | SELECT CASE WHEN NULL handling |
| — | 138. Sort by Department and Salary | easy | |
| — | 139. Sort Products by Profit Margin | easy | |
| — | 140. Paginate Results with LIMIT and OFFSET | easy | |
| — | 141. Top 5 Orders by Amount Using FETCH FIRST | easy | SELECT FETCH FIRST ORDER BY |
| — | 142. Rename Columns with AS Alias | easy | |
| — | 143. Use Table Aliases in a JOIN | easy | SELECT table alias INNER JOIN |
| — | 144. Calculate Price Including Tax | easy | SELECT arithmetic calculated column |
| — | 145. Join Orders with Customer Details | easy | |
| — | 146. Find Customers Who Have Never Ordered | easy | |
| — | 147. List All Unique Order Statuses | easy | |
| — | 148. Find Unique Department-City Combinations | easy | |
| — | 149. Count Orders by Status | easy | |
| — | 150. Total Revenue by Department and Quarter | easy | |
| — | 151. Customers Who Spent More Than $500 | easy | |
| — | 152. Products Ordered by More Than 2 Customers | easy | |
| — | 153. Group Orders by Month Using DATE_TRUNC | easy | |
| — | 154. Find Active Subscriptions After a Date | easy | |
| — | 155. Pad Invoice Numbers with LPAD | easy | |
| — | 156. Reverse Strings and Detect Palindromes | easy | |
| — | 157. Find the Position of @ in Email Addresses | easy | |
| — | 158. CHAR_LENGTH vs LENGTH on Messages | easy | |
| — | 159. Replace NULL Commission with IFNULL | easy | SELECT IFNULL NULL handling |
| — | 160. Find Employees Earning Above Average Salary | easy | |
| — | 161. Row Number Within Each Department | medium | window functions ROW_NUMBER PARTITION BY |
| — | 162. Rank Sales Representatives with Ties | medium | window functions RANK ORDER BY |
| — | 163. Game Leaderboard with Dense Rank | medium | window functions DENSE_RANK PARTITION BY |
| — | 164. Month-over-Month Revenue Change Using LAG | medium | window functions LAG ORDER BY |
| — | 165. Time Until Next Customer Event Using LEAD | medium | window functions LEAD PARTITION BY |
| — | 166. Salary Quartile Buckets Using NTILE | medium | window functions NTILE ORDER BY |
| — | 167. Percentile Rank of Exam Scores | medium | window functions PERCENT_RANK ORDER BY |
| — | 168. Cumulative Distribution of Product Prices | medium | window functions CUME_DIST ORDER BY |
| — | 169. Department Max and Min Salary Using FIRST_VALUE and LAST_VALUE | medium | window functions FIRST_VALUE LAST_VALUE |
| — | 170. Running Total of Daily Sales | medium | window functions SUM OVER ORDER BY |
| — | 171. 3-Day Moving Average of Stock Closing Price | medium | window functions AVG OVER ROWS BETWEEN |
| — | 172. Count Orders Per Customer Without GROUP BY | medium | window functions COUNT OVER PARTITION BY |
| — | 173. Compare Each Product Price to Its Category Min and Max | medium | window functions MIN OVER MAX OVER |
| — | 174. Employees Earning Above Their Department Average | medium | correlated subquery SELECT WHERE |
| — | 175. Customers Who Have Placed at Least One Order | medium | |
| — | 176. Products That Have Never Been Ordered | medium | |
| — | 177. Chained CTEs for Layered Sales Analysis | medium | |
| — | 178. Traverse Org Chart Hierarchy with Recursive CTE | medium | recursive CTE WITH RECURSIVE UNION ALL |
| — | 179. Combine Customer Lists with UNION ALL vs UNION | medium | UNION ALL UNION deduplication |
| — | 180. Customers Who Bought Both Online and In-Store | medium | INTERSECT SET operations SELECT |
| — | 181. Products Not Currently on Sale Using EXCEPT | medium | EXCEPT SET operations SELECT |
| — | 182. Pivot Quarterly Sales into Columns Using CASE | medium | |
| — | 183. Unpivot Quarterly Columns to Rows Using UNION ALL | medium | |
| — | 184. Comma-Separated Employee List Per Department | medium | STRING_AGG GROUP BY aggregation |
| — | 185. Aggregate Products into an Array Per Category | medium | ARRAY_AGG GROUP BY aggregation |
| — | 186. Extract Fields from a JSON Attributes Column | medium | JSON json_extract_string WHERE |
| — | 187. Filter Users by Email Pattern Using REGEXP | medium | REGEXP SIMILAR TO string functions |
| — | 188. Extract Email Domain Using SPLIT_PART | medium | SPLIT_PART string functions SELECT |
| — | 189. Subscription Expiry and Days Remaining | medium | date arithmetic INTERVAL CURRENT_DATE |
| — | 190. Fill Date Gaps Using GENERATE_SERIES | medium | GENERATE_SERIES LEFT JOIN date functions |
| — | 191. Find Missing IDs in a Sequence | medium | gaps GENERATE_SERIES EXCEPT |
| — | 192. Find Consecutive Activity Streaks (Islands Problem) | medium | islands window functions LAG |
| — | 193. Deduplicate Orders Keeping the Latest Entry | medium | deduplication ROW_NUMBER CTE |
| — | 194. Top 2 Products Per Category by Revenue | medium | TOP N per group ROW_NUMBER CTE |
| — | 195. Each Sale as a Percentage of Total Revenue | medium | window functions SUM OVER percentage |
| — | 196. Count New Customers Acquired Each Month | medium | |
| — | 197. Revenue by Order Status Using CASE Inside SUM | medium | |
| — | 198. Full Department Salary Statistics in One Query | medium | |
| — | 199. Show Each Employee with Their Manager's Name | medium | self join LEFT JOIN hierarchy |
| — | 200. Order Details with Customer and Product Names | medium | JOIN three-table join INNER JOIN |
| — | 201. Four-Table JOIN with Category Filter | medium | JOIN four-table join INNER JOIN |
| — | 202. Find Customers Who Have Never Placed an Order | medium | LEFT JOIN NULL check IS NULL |
| — | 203. All Product Color and Size Combinations Using CROSS JOIN | medium | CROSS JOIN Cartesian product SELECT |
| — | 204. Most Recent Order Per Customer Using LATERAL JOIN | medium | LATERAL CROSS JOIN LATERAL correlated subquery |
| — | 205. Weekly Sales Totals Using DATE_TRUNC | medium | |
| — | 206. Year-over-Year Revenue Growth Using LAG | medium | window functions LAG ORDER BY |
| — | 207. Month-over-Month Revenue Growth Rate | medium | window functions LAG ORDER BY |
| — | 208. User Cohort Retention by First Purchase Month | medium | cohort analysis CTE DATE_TRUNC |
| — | 209. Month-2 Retention Rate Calculation | medium | CTE COUNT DISTINCT LEFT JOIN |
| — | 210. Funnel Analysis with Step-by-Step Conversion Rates | medium | |
| — | 211. ABC Inventory Classification by Cumulative Revenue | medium | CTE window functions SUM OVER |
| — | 212. Customer Tier Segmentation Using NTILE | medium | window functions NTILE ORDER BY |
| — | 213. Revenue Concentration — Cumulative % Per Customer | medium | window functions SUM OVER cumulative |
| — | 214. Median Salary Per Department Using PERCENTILE_CONT | medium | PERCENTILE_CONT WITHIN GROUP ORDER BY |
| — | 215. Find the Most Frequently Occurring Rating (Mode) | medium | |
| — | 216. Salary Spread by Department Using STDDEV_POP | medium | |
| — | 217. Weighted Average Purchase Price Per Product | medium | GROUP BY SUM weighted average |
| — | 218. Rolling 7-Day Revenue Sum | medium | window functions SUM OVER ROWS BETWEEN |
| — | 219. Identify SLA Breaches Using DATEDIFF | medium | DATEDIFF CASE WHEN date arithmetic |
| — | 220. Pivot Monthly Revenue into Jan–Dec Columns | medium | |
| — | 221. Multi-Level Aggregation (Aggregate of Aggregates) | medium | |
| — | 222. Scalar Subquery in SELECT Clause | medium | SELECT correlated subquery AVG |
| — | 223. Subquery in FROM Clause (Derived Table / Inline View) | medium | |
| — | 224. Multiple Window Functions in One Query | medium | SELECT window functions ROW_NUMBER |
| — | 225. Running Maximum with RANGE BETWEEN UNBOUNDED PRECEDING | medium | SELECT window functions MAX OVER |
| — | 226. Monthly Session Counts with Date-Based Partition | medium | SELECT window functions COUNT OVER |
| — | 227. Named Window Using the WINDOW Clause | medium | SELECT window functions WINDOW clause |
| — | 228. FILTER Clause with Aggregate Functions | medium | |
| — | 229. Conditional COUNT with CASE Expression | medium | |
| — | 230. Revenue Share per Category Using Window SUM | medium | SELECT window functions SUM OVER |
| — | 231. Compare Each Employee to Their Department Average Salary | medium | SELECT window functions AVG OVER |
| — | 232. Detect Price Changes Using LAG | medium | SELECT window functions LAG |
| — | 233. Days Until Next Event Using LEAD | medium | SELECT window functions LEAD |
| — | 234. Classify Employees into Salary Bands Using CASE | medium | |
| — | 235. Employees in Top 10% by Salary Using PERCENT_RANK | medium | SELECT window functions PERCENT_RANK |
| — | 236. Ratio of Each Category to Total Revenue | medium | |
| — | 237. Rank Products Within Each Brand by Price | medium | SELECT window functions RANK |
| — | 238. First and Last Purchase Date per Customer | medium | |
| — | 239. Customers Who Never Made a Second Purchase | medium | |
| — | 240. Aggregate Orders by Weekday vs Weekend | medium | |
| — | 241. Count Orders by Hour of Day | medium | |
| — | 242. Products with High Average Review Rating | medium | |
| — | 243. Customers Who Purchased from Every Category | medium | |
| — | 244. Email Domain Frequency Analysis | medium | |
| — | 245. Phone Number Format Validation with SIMILAR TO | medium | |
| — | 246. Longest Gap Between Consecutive Orders per Customer | medium | SELECT window functions LAG |
| — | 247. Days Since Last Order per Customer | medium | |
| — | 248. New vs Returning Customers per Month | medium | |
| — | 249. Repeat Purchase Rate Calculation | medium | |
| — | 250. Customer Purchase Frequency Distribution | medium | |
| — | 251. RFM Analysis — Recency, Frequency, Monetary Buckets | medium | SELECT CTE window functions |
| — | 252. Product Co-Purchase Analysis | medium | |
| — | 253. Sales Velocity — Units Sold per Day per Product | medium | |
| — | 254. Inventory Days Remaining Calculation | medium | |
| — | 255. Supplier Lead Time Analysis | medium | |
| — | 256. Average Order Value by Acquisition Channel | medium | |
| — | 257. Revenue per Employee by Department | medium | |
| — | 258. Budget vs Actual Spend Comparison | medium | |
| — | 259. Join on Multiple Columns (Composite Key) | medium | |
| — | 260. Finding Duplicate Records Across Columns | medium | |
| — | 261. Remove Duplicates Keeping the Most Recent Record | medium | SELECT window functions ROW_NUMBER |
| — | 262. Comparing Two Datasets with FULL OUTER JOIN | medium | SELECT FULL OUTER JOIN COALESCE |
| — | 263. Detecting Anomalies Using Z-Score Approach | medium | |
| — | 264. Rolling 30-Day Distinct Customer Count | medium | |
| — | 265. Month-End Date Calculation | medium | |
| — | 266. Assign Sales to Fiscal Year Quarters | medium | |
| — | 267. Count Business Days Between Two Dates | medium | SELECT generate_series EXTRACT |
| — | 268. Calculate Age in Years from Birthdate | medium | |
| — | 269. Timestamp to Date Conversion and Daily Grouping | medium | |
| — | 270. Detect Overlapping Date Ranges | medium | SELECT self join date ranges |
| — | 271. Assign Row Numbers Within Department Groups | medium | SELECT window functions ROW_NUMBER |
| — | 272. Split Comma-Separated Tags and Count Frequency | medium | SELECT STRING_TO_ARRAY UNNEST |
| — | 273. Aggregating JSON Array Element Counts | medium | SELECT json_array_length JSON |
| — | 274. Finding Maximum Streak of Consecutive Login Days | medium | |
| — | 275. Customer Segments by Spending Quartile | medium | SELECT CTE window functions |
| — | 276. Product Categories with Month-over-Month Revenue Decline | medium | SELECT CTE window functions |
| — | 277. Employees Promoted in the Last 6 Months | medium | |
| — | 278. Transactions More Than 3 Standard Deviations Above Mean | medium | |
| — | 279. Cumulative Sum That Resets on Partition Change | medium | SELECT window functions SUM OVER |
| — | 280. Multi-Step CTE Pipeline for Complex Analytics | medium | |
| — | 281. Recursive Bill of Materials Explosion | hard | recursive CTE self join aggregation |
| — | 282. Full Org Chart Path as String | hard | recursive CTE string concatenation tree traversal |
| — | 283. Graph Shortest Path via BFS | hard | recursive CTE graph traversal BFS |
| — | 284. Fibonacci Sequence via Recursive CTE | hard | recursive CTE sequence generation BIGINT |
| — | 285. Sliding 30-Day Revenue Window per Customer | hard | window functions RANGE BETWEEN interval arithmetic |
| — | 286. Session Stitching with 30-Minute Gap Tolerance | hard | |
| — | 287. Merge Overlapping Subscription Intervals | hard | window functions CTE islands and gaps |
| — | 288. Time-Series Gap Filling with Zero Revenue Days | hard | GENERATE_SERIES LEFT JOIN CROSS JOIN |
| — | 289. Monthly Sales Pivot Table (Jan–Dec) | hard | |
| — | 290. Quarterly Revenue Unpivot (Wide to Long Format) | hard | unpivot UNION ALL normalization |
| — | 291. Busiest 3 Consecutive Days by Revenue | hard | window functions ROWS BETWEEN LEAD |
| — | 292. Median Salary by Department using PERCENTILE_CONT Today | hard | PERCENTILE_CONT ordered-set aggregate window functions |
| — | 293. Fraud Detection: 3+ Transactions Within 1 Hour | hard | self join CTE timestamp arithmetic |
| — | 294. Customer Lifetime Value Projection | hard | |
| — | 295. Cohort Retention Analysis Pipeline | hard | |
| — | 296. Nearest Price Match Across Two Catalogs | hard | CROSS JOIN window functions ROW_NUMBER |
| — | 297. Balanced Task Distribution with NTILE | hard | |
| — | 298. String Parsing: Extract Structured Data from Concatenated Field | hard | SPLIT_PART string functions data cleaning |
| — | 299. Weighted Composite Product Ranking | hard | window functions CTE normalization |
| — | 300. Maximum Concurrent Bookings per Room | hard | CTE UNION ALL window functions |