CentralCircle
Jul 23, 2026

oracle sql exercises and solutions

R

Ronnie Lynch

oracle sql exercises and solutions

oracle sql exercises and solutions are essential resources for database professionals, students, and developers aiming to sharpen their SQL skills within the Oracle Database environment. These exercises help users understand complex concepts, improve query writing capabilities, and prepare for certification exams or real-world database management tasks. Whether you are a beginner looking to grasp foundational concepts or an advanced user seeking to optimize performance, practicing with well-designed exercises and reviewing their solutions is a proven method to enhance proficiency.

In this comprehensive guide, we will explore a wide range of Oracle SQL exercises along with their solutions, covering fundamental to advanced topics. We will also discuss best practices, common pitfalls, and tips to maximize your learning experience. This article is optimized for SEO to ensure it reaches those searching for practical SQL training resources, making it a valuable addition to your learning toolkit.


Understanding Oracle SQL Exercises and Their Importance

Why Practice with Oracle SQL Exercises?

Practicing SQL exercises offers several benefits:

  • Reinforces theoretical knowledge through hands-on experience.
  • Builds confidence in writing complex queries.
  • Prepares users for certification exams like Oracle Certified Associate (OCA) and Oracle Certified Professional (OCP).
  • Enhances problem-solving skills related to database management.
  • Helps identify gaps in understanding and areas needing improvement.

How to Approach Oracle SQL Exercises Effectively

To maximize learning:

  • Start with simple exercises focusing on core concepts.
  • Gradually move to complex queries involving joins, subqueries, and analytics.
  • Analyze solutions thoroughly to understand different approaches.
  • Experiment by modifying queries and observing results.
  • Keep practicing regularly to retain knowledge.

Key Topics Covered in Oracle SQL Exercises

1. Basic SQL Queries

  • SELECT statements
  • Filtering data with WHERE clause
  • Sorting results with ORDER BY
  • Limiting output with ROWNUM

2. Aggregate Functions and GROUP BY

  • SUM, COUNT, AVG, MIN, MAX
  • Using GROUP BY to aggregate data
  • HAVING clause for filtering groups

3. Joins and Subqueries

  • INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN
  • Correlated and non-correlated subqueries
  • EXISTS and NOT EXISTS

4. Data Manipulation Language (DML)

  • INSERT, UPDATE, DELETE statements
  • Managing transactions with COMMIT and ROLLBACK

5. Data Definition Language (DDL)

  • Creating and modifying tables
  • Adding constraints
  • Creating indexes

6. Advanced SQL Topics

  • Analytical functions
  • Recursive queries
  • WITH clause (Common Table Expressions)
  • Pivot and unpivot operations

Sample Oracle SQL Exercises with Solutions

Exercise 1: Retrieve Employee Names and Salaries

Question: Write a query to list employee names and their salaries from the EMPLOYEES table, ordering the results by salary in descending order.

Solution:

```sql

SELECT employee_name, salary

FROM employees

ORDER BY salary DESC;

```

Exercise 2: Count Employees in Each Department

Question: Generate a report showing the number of employees in each department.

Solution:

```sql

SELECT department_id, COUNT() AS employee_count

FROM employees

GROUP BY department_id;

```

Exercise 3: Find Employees Earning More Than the Average Salary

Question: List employees whose salaries are above the average salary across all employees.

Solution:

```sql

SELECT employee_id, employee_name, salary

FROM employees

WHERE salary > (SELECT AVG(salary) FROM employees);

```

Exercise 4: Retrieve Departments with No Employees

Question: List all departments that currently have no employees assigned.

Solution:

```sql

SELECT department_id, department_name

FROM departments d

LEFT JOIN employees e ON d.department_id = e.department_id

WHERE e.employee_id IS NULL;

```

Exercise 5: Update Employee Salaries by 10%

Question: Increase all employees' salaries by 10%.

Solution:

```sql

UPDATE employees

SET salary = salary 1.10;

COMMIT;

```


Advanced Oracle SQL Exercises and Solutions for Skill Enhancement

Exercise 6: Using Analytical Functions to Find Top Salaries

Question: For each department, list employees with the highest salary.

Solution:

```sql

SELECT employee_id, employee_name, department_id, salary

FROM (

SELECT employee_id, employee_name, department_id, salary,

RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) as rank

FROM employees

)

WHERE rank = 1;

```

Exercise 7: Recursive Query to Find Hierarchical Relationships

Question: Suppose you have an EMPLOYEES table with a MANAGER_ID column. Write a recursive query to list all employees under a specific manager.

Solution:

```sql

WITH employee_hierarchy AS (

SELECT employee_id, employee_name, manager_id

FROM employees

WHERE manager_id = :manager_id -- Replace with actual manager ID

UNION ALL

SELECT e.employee_id, e.employee_name, e.manager_id

FROM employees e

JOIN employee_hierarchy eh ON e.manager_id = eh.employee_id

)

SELECT FROM employee_hierarchy;

```

Exercise 8: Pivoting Data for Reporting

Question: Create a pivot table showing total sales per product for each month.

Solution:

```sql

SELECT

FROM (

SELECT product_name, TO_CHAR(sale_date, 'Mon') AS month, amount

FROM sales

)

PIVOT (

SUM(amount)

FOR month IN ('Jan' AS Jan, 'Feb' AS Feb, 'Mar' AS Mar)

);

```


Best Practices for Practicing Oracle SQL Exercises

To ensure effective learning, consider the following best practices:

  • Understand the problem statement thoroughly before attempting a solution.
  • Write clean and readable code, using proper indentation and aliases.
  • Test your queries with different data sets to verify correctness.
  • Use built-in functions and features like indexes and partitioning to optimize queries.
  • Review solutions to learn alternative approaches and optimize performance.
  • Document your exercises for future reference and revision.

Common Challenges and How to Overcome Them

  • Complex Joins: Break down multi-table joins into smaller parts for clarity.
  • Subqueries Performance: Use EXISTS instead of IN for better performance.
  • Handling NULLs: Be mindful of NULL values and use NVL or COALESCE functions.
  • Optimizing Queries: Analyze execution plans and use indexes judiciously.
  • Recursive Queries: Practice with simple hierarchies before tackling complex recursive structures.

Resources for Further Learning

  • Official Oracle SQL Documentation
  • Online platforms like SQLZoo, LeetCode, and HackerRank
  • Books: "Oracle SQL by Example" and "Mastering Oracle SQL"
  • Community forums such as Oracle Community and Stack Overflow

Conclusion

Mastering Oracle SQL through exercises and solutions is an effective way to deepen your understanding of database management and query optimization. Regular practice not only prepares you for certifications but also enhances your ability to handle real-world data challenges efficiently. By exploring a variety of exercises—from simple data retrieval to complex hierarchical queries—you develop a versatile skill set that is highly valued in the IT industry. Remember to approach each exercise methodically, analyze solutions critically, and continually challenge yourself with advanced topics to stay ahead in the field of Oracle SQL.


This comprehensive guide aims to serve as your go-to resource for Oracle SQL exercises and solutions, optimized for SEO to ensure maximum reach and usability. Happy practicing!


Oracle SQL Exercises and Solutions: A Comprehensive Guide for Aspiring Database Professionals

In the rapidly evolving landscape of data management, mastering SQL (Structured Query Language) remains a fundamental skill for database administrators, developers, and analysts alike. Whether you're just starting your journey or looking to sharpen your skills, practicing with real-world exercises can significantly boost your confidence and competence. Oracle SQL exercises and solutions serve as an invaluable resource to bridge the gap between theory and practice, offering hands-on experience with one of the most robust and widely used database management systems in the world.

This article explores a variety of Oracle SQL exercises, providing detailed solutions and explanations that cater to learners at different levels. From fundamental queries to complex joins and aggregate functions, we will navigate through essential concepts, practical challenges, and their resolutions. By the end, you'll be equipped with the knowledge and confidence to handle real-world data scenarios efficiently.


The Importance of Practicing Oracle SQL Exercises

Before diving into specific exercises, it's crucial to understand why practicing SQL is so vital:

  • Reinforces Learning: Hands-on exercises help solidify theoretical concepts, making them easier to recall and apply.
  • Builds Problem-Solving Skills: Tackling diverse problems sharpens your ability to analyze data and craft effective queries.
  • Prepares for Real-World Scenarios: Practical exercises simulate the challenges faced in actual projects, enhancing readiness.
  • Boosts Confidence: Regular practice reduces anxiety and builds proficiency, making you more comfortable with complex tasks.

Fundamentals of Oracle SQL: Setting the Stage

Before exploring exercises, ensure you are familiar with core Oracle SQL concepts:

  • Data Types: NUMBER, VARCHAR2, DATE, etc.
  • Basic Commands: SELECT, INSERT, UPDATE, DELETE
  • Clauses: WHERE, ORDER BY, GROUP BY, HAVING
  • Joins: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN
  • Functions: Aggregate (SUM, COUNT, AVG), String (CONCAT, SUBSTR), Date functions

Understanding these fundamentals sets the foundation for tackling more advanced exercises.


Basic Oracle SQL Exercises and Solutions

Exercise 1: Retrieve All Employees

Problem: List all columns for every employee in the `employees` table.

Solution:

```sql

SELECT FROM employees;

```

Explanation: The `SELECT ` statement fetches all columns and records from the `employees` table, providing a complete overview.


Exercise 2: Find Employees with Salary Above 50,000

Problem: Write a query to find employees earning more than 50,000.

Solution:

```sql

SELECT employee_id, first_name, last_name, salary

FROM employees

WHERE salary > 50000;

```

Explanation: The `WHERE` clause filters records where the `salary` exceeds 50,000, selecting relevant columns for clarity.


Intermediate Exercises: Exploring Joins and Aggregates

Exercise 3: List Employee Names with Department Names

Problem: Retrieve employee names along with their department names. Assume two tables: `employees` and `departments`, linked by `department_id`.

Solution:

```sql

SELECT e.first_name, e.last_name, d.department_name

FROM employees e

JOIN departments d ON e.department_id = d.department_id;

```

Explanation: An `INNER JOIN` combines records from both tables where the `department_id` matches, presenting a comprehensive view of employees and their departments.


Exercise 4: Count Employees in Each Department

Problem: Determine how many employees work in each department.

Solution:

```sql

SELECT d.department_name, COUNT(e.employee_id) AS employee_count

FROM departments d

LEFT JOIN employees e ON d.department_id = e.department_id

GROUP BY d.department_name;

```

Explanation: The `LEFT JOIN` ensures all departments are listed, even those without employees. `GROUP BY` aggregates counts per department.


Advanced Exercises: Complex Queries and Subqueries

Exercise 5: Find Employees Who Earn More Than the Average Salary

Problem: List employee IDs and names for those earning above the average salary across all employees.

Solution:

```sql

SELECT employee_id, first_name, last_name, salary

FROM employees

WHERE salary > (SELECT AVG(salary) FROM employees);

```

Explanation: The subquery computes the overall average salary, and the outer query filters employees earning more than this average.


Exercise 6: Retrieve the Top 3 Highest Paid Employees

Problem: List the top three employees with the highest salaries.

Solution:

```sql

SELECT employee_id, first_name, last_name, salary

FROM (

SELECT employee_id, first_name, last_name, salary

FROM employees

ORDER BY salary DESC

)

WHERE ROWNUM <= 3;

```

Explanation: The inner query orders employees by salary in descending order. The outer query uses `ROWNUM` to limit results to the top three.


Handling Data Manipulation with Exercises

Exercise 7: Increase Salaries by 10% for Employees in a Specific Department

Problem: For employees in department 50, raise their salary by 10%.

Solution:

```sql

UPDATE employees

SET salary = salary 1.10

WHERE department_id = 50;

```

Explanation: The `UPDATE` statement modifies salaries directly, applying a 10% increase where the department matches.


Exercise 8: Insert a New Employee Record

Problem: Add a new employee named John Doe, with specified details.

Solution:

```sql

INSERT INTO employees (employee_id, first_name, last_name, email, hire_date, job_id, salary, department_id)

VALUES (207, 'John', 'Doe', '[email protected]', SYSDATE, 'IT_PROG', 6000, 60);

```

Explanation: The `INSERT INTO` statement adds a new record with the specified values. `SYSDATE` inserts the current date.


Optimizing and Troubleshooting Exercises

Exercise 9: Find Duplicate Employee Emails

Problem: Identify email addresses that appear more than once in the `employees` table.

Solution:

```sql

SELECT email, COUNT() AS occurrence

FROM employees

GROUP BY email

HAVING COUNT() > 1;

```

Explanation: The `GROUP BY` groups entries by email, and `HAVING` filters for duplicates.


Exercise 10: Delete Employees with No Department Assigned

Problem: Remove all employees who are not assigned to any department.

Solution:

```sql

DELETE FROM employees

WHERE department_id IS NULL;

```

Explanation: The `DELETE` statement removes records where `department_id` is null, cleaning up unassigned entries.


Tips for Effective Practice

To maximize the benefits of practicing Oracle SQL exercises, consider these tips:

  • Start Simple: Begin with basic queries and gradually progress to complex joins and subqueries.
  • Use Sample Data: Practice on sample databases like HR or SCOTT schemas to simulate real-world scenarios.
  • Understand, Don’t Memorize: Focus on understanding the logic behind queries rather than rote memorization.
  • Test and Debug: Run your queries and analyze results; troubleshoot errors diligently.
  • Challenge Yourself: Regularly attempt new problems and variations to broaden your skillset.

Resources for Further Learning

Enhance your Oracle SQL proficiency with these resources:

  • Official Oracle Documentation: Comprehensive reference for SQL syntax and best practices.
  • Online Platforms: Websites like LeetCode, HackerRank, and SQLZoo offer interactive exercises.
  • Books: Titles such as Oracle SQL by Example or Oracle PL/SQL Programming.
  • Community Forums: Engage with communities like Stack Overflow or Oracle Community for support and insights.

Conclusion

Mastering Oracle SQL through exercises and solutions is a powerful approach to becoming proficient in data management. Whether you're querying basic data, joining multiple tables, or manipulating records, consistent practice builds confidence, sharpens problem-solving skills, and prepares you for real-world challenges. By systematically working through exercises—ranging from fundamental to advanced—you develop a robust understanding that can significantly enhance your career prospects in database administration, development, and analysis.

Remember, the key to success is persistence and curiosity. Keep practicing, exploring, and applying your knowledge, and you'll find yourself navigating complex data landscapes with ease and expertise.

QuestionAnswer
What are some common Oracle SQL exercises for beginners to practice basic SELECT statements? Beginner exercises often include retrieving all records from a table using SELECT , filtering data with WHERE clauses, sorting results with ORDER BY, and practicing simple aggregate functions like COUNT, SUM, MIN, and MAX.
How can I practice writing Oracle SQL queries involving JOINs? Practice exercises that involve combining data from multiple tables using INNER JOIN, LEFT JOIN, RIGHT JOIN, and FULL OUTER JOIN help improve understanding of table relationships. For example, retrieving customer orders along with customer details across related tables.
What are some solutions for practicing Oracle SQL subqueries and nested queries? Exercises include writing subqueries within WHERE clauses to filter data, using subqueries in FROM clauses (inline views), and applying nested SELECT statements to solve complex filtering problems, such as finding employees earning above the average salary.
How do I solve Oracle SQL exercises involving GROUP BY and HAVING clauses? Practice problems involve aggregating data, like calculating total sales per region, then filtering groups with HAVING (e.g., groups with total sales exceeding a certain amount). Solutions typically include GROUP BY and HAVING clauses combined with aggregate functions.
What are some common solutions for practicing Oracle SQL data manipulation commands? Exercises include performing INSERT, UPDATE, and DELETE operations on tables, with solutions demonstrating transaction control, handling constraints, and ensuring data integrity during modifications.
How can I improve my skills with Oracle SQL window functions through exercises? Practice involves using ROW_NUMBER(), RANK(), LEAD(), LAG(), and aggregate functions over partitions to perform calculations across sets of rows within a result set, such as ranking salespeople within regions or calculating moving averages.
Where can I find comprehensive solutions for advanced Oracle SQL exercises? Online platforms like SQLZoo, LeetCode, and official Oracle tutorials provide exercises with detailed solutions. Additionally, books and courses on SQL often include practice problems with step-by-step solutions to enhance your skills.

Related keywords: Oracle SQL, SQL exercises, SQL solutions, Oracle database, SQL queries, SQL practice, SQL tutorials, SQL scripting, database management, SQL training