Select All Employees
Write a query to select all columns from the employees table. Return columns: id, first_name, last_name, email, department_id, salary, hire_date, manager_id.
Work through 98 beginner SQL exercises in a structured sequence. Each challenge includes a clear problem, schema context and an interactive query editor.
Write a query to select all columns from the employees table. Return columns: id, first_name, last_name, email, department_id, salary, hire_date, manager_id.
Write a query to retrieve only the first_name and last_name of all employees. Return columns: first_name, last_name.
Find employees with a salary greater than 80,000 and show id, first_name, last_name, and salary. Return columns: id, first_name, last_name, salary.
Find all employees in department_id = 1 (Engineering), showing their name and salary. Return columns: first_name, last_name, salary.
List all employees ordered by salary from highest to lowest. Return columns: first_name, last_name, salary. Order results by: salary DESC.
Count the number of employees in each department. Return columns: department_id, employee_count. Order results by: department_id.
Calculate the average salary for each department. Return columns: department_id, avg_salary. Order results by: department_id.
Find all employees who do not have a manager (manager_id is NULL). Return columns: id, first_name, last_name.
Count how many orders have the status 'completed'. Return columns: completed_count.
List the top 3 most expensive products with their names and prices. Return columns: name, price. Order results by: price DESC.
List employee names and salaries between 70,000 and 90,000, ordered by salary. Return columns: first_name, last_name, salary. Order results by: salary.
Show employee last names, first names, and emails alphabetically by last name. Return columns: last_name, first_name, email. Order results by: last_name, first_name.
Find products with fewer than 200 units in stock, cheapest first. Return columns: name, category, price, stock. Order results by: price.
Count customers in each country, sorted by the country name. Return columns: country, customer_count. Order results by: country.
Calculate the combined budget of all departments. Return columns: total_budget.
List pending orders with their date and total amount. Return columns: id, order_date, total_amount. Order results by: order_date.
Show every product name in uppercase alongside its category. Return columns: product_name, category. Order results by: id.
List customers who joined on or after January 1, 2021. Return columns: name, country, joined_date. Order results by: joined_date.
List employee names and salaries above 60000, ordered by salary descending. Return columns: first_name, last_name, salary. Order results by: salary DESC, id.
List employee names and salaries above 65000, ordered by salary descending. Return columns: first_name, last_name, salary. Order results by: salary DESC, id.
List employee names and salaries above 70000, ordered by salary descending. Return columns: first_name, last_name, salary. Order results by: salary DESC, id.
List employee names and salaries above 75000, ordered by salary descending. Return columns: first_name, last_name, salary. Order results by: salary DESC, id.
List employee names and salaries above 80000, ordered by salary descending. Return columns: first_name, last_name, salary. Order results by: salary DESC, id.
List employee names and salaries above 85000, ordered by salary descending. Return columns: first_name, last_name, salary. Order results by: salary DESC, id.
List employee names and salaries above 90000, ordered by salary descending. Return columns: first_name, last_name, salary. Order results by: salary DESC, id.
List employee names and salaries above 100000, ordered by salary descending. Return columns: first_name, last_name, salary. Order results by: salary DESC, id.
Return employee names and salaries below 60000, lowest salary first. Return columns: first_name, last_name, salary. Order results by: salary, id.
Return employee names and salaries below 65000, lowest salary first. Return columns: first_name, last_name, salary. Order results by: salary, id.
Return employee names and salaries below 70000, lowest salary first. Return columns: first_name, last_name, salary. Order results by: salary, id.
Return employee names and salaries below 75000, lowest salary first. Return columns: first_name, last_name, salary. Order results by: salary, id.
Return employee names and salaries below 80000, lowest salary first. Return columns: first_name, last_name, salary. Order results by: salary, id.
Return employee names and salaries below 85000, lowest salary first. Return columns: first_name, last_name, salary. Order results by: salary, id.
Return employee names and salaries below 90000, lowest salary first. Return columns: first_name, last_name, salary. Order results by: salary, id.
Return employee names and salaries below 100000, lowest salary first. Return columns: first_name, last_name, salary. Order results by: salary, id.
Find employees whose salary is between 55000 and 65000, inclusive. Return columns: first_name, last_name, salary. Order results by: salary, id.
Find employees whose salary is between 60000 and 70000, inclusive. Return columns: first_name, last_name, salary. Order results by: salary, id.
Find employees whose salary is between 65000 and 75000, inclusive. Return columns: first_name, last_name, salary. Order results by: salary, id.
Find employees whose salary is between 70000 and 85000, inclusive. Return columns: first_name, last_name, salary. Order results by: salary, id.
Find employees whose salary is between 75000 and 90000, inclusive. Return columns: first_name, last_name, salary. Order results by: salary, id.
Find employees whose salary is between 80000 and 95000, inclusive. Return columns: first_name, last_name, salary. Order results by: salary, id.
Find employees whose salary is between 85000 and 105000, inclusive. Return columns: first_name, last_name, salary. Order results by: salary, id.
Find employees whose salary is between 90000 and 110000, inclusive. Return columns: first_name, last_name, salary. Order results by: salary, id.
List employees hired on or after 2018-01-01, earliest first. Return columns: first_name, last_name, hire_date. Order results by: hire_date, id.
List employees hired on or after 2019-01-01, earliest first. Return columns: first_name, last_name, hire_date. Order results by: hire_date, id.
List employees hired on or after 2020-01-01, earliest first. Return columns: first_name, last_name, hire_date. Order results by: hire_date, id.
List employees hired on or after 2020-07-01, earliest first. Return columns: first_name, last_name, hire_date. Order results by: hire_date, id.
List employees hired on or after 2021-01-01, earliest first. Return columns: first_name, last_name, hire_date. Order results by: hire_date, id.
List employees hired on or after 2021-07-01, earliest first. Return columns: first_name, last_name, hire_date. Order results by: hire_date, id.
List employees hired on or after 2022-01-01, earliest first. Return columns: first_name, last_name, hire_date. Order results by: hire_date, id.
List employees hired on or after 2022-02-01, earliest first. Return columns: first_name, last_name, hire_date. Order results by: hire_date, id.
List employees hired before 2018-01-01, newest qualifying hire first. Return columns: first_name, last_name, hire_date. Order results by: hire_date DESC, id.
List employees hired before 2019-01-01, newest qualifying hire first. Return columns: first_name, last_name, hire_date. Order results by: hire_date DESC, id.
List employees hired before 2020-01-01, newest qualifying hire first. Return columns: first_name, last_name, hire_date. Order results by: hire_date DESC, id.
List employees hired before 2020-07-01, newest qualifying hire first. Return columns: first_name, last_name, hire_date. Order results by: hire_date DESC, id.
List employees hired before 2021-01-01, newest qualifying hire first. Return columns: first_name, last_name, hire_date. Order results by: hire_date DESC, id.
List employees hired before 2021-07-01, newest qualifying hire first. Return columns: first_name, last_name, hire_date. Order results by: hire_date DESC, id.
List employees hired before 2022-01-01, newest qualifying hire first. Return columns: first_name, last_name, hire_date. Order results by: hire_date DESC, id.
List employees hired before 2022-02-01, newest qualifying hire first. Return columns: first_name, last_name, hire_date. Order results by: hire_date DESC, id.
List orders whose total is greater than 250. Return columns: id, customer_id, total_amount, status. Order results by: total_amount DESC, id.
List orders whose total is greater than 500. Return columns: id, customer_id, total_amount, status. Order results by: total_amount DESC, id.
Showing the first 60 of 98 challenges in this learning path.
Browse and filter all challenges in the Practice ArenaLevel guide
Beginner SQL challenges build reliable foundations with SELECT, filtering, sorting, NULL handling and simple aggregation.