If you are working with Oracle Database, mastering SQL queries is essential for managing data efficiently. Whether you are a beginner or an experienced developer, knowing the most useful Oracle SQL queries can save time and improve performance.
In this guide, we will cover the top 50 Oracle SQL queries every developer should know. These queries are commonly used in real-world projects for data retrieval, filtering, aggregation, and database management.
This article is optimized for developers, students, and database administrators who want to improve their SQL skills.
1. Basic Oracle SQL Queries
1. Select All Records
SELECT * FROM employees;
2. Select Specific Columns
SELECT first_name, last_name FROM employees;
3. Using WHERE Clause
SELECT * FROM employees WHERE department_id = 10;
4. Using DISTINCT
SELECT DISTINCT department_id FROM employees;
5. Sorting Results
SELECT * FROM employees ORDER BY salary DESC;
2. Filtering Data Queries
6. Using AND Condition
SELECT * FROM employees
WHERE salary > 5000 AND department_id = 20;
7. Using OR Condition
SELECT * FROM employees
WHERE department_id = 10 OR department_id = 20;
8. Using BETWEEN
SELECT * FROM employees
WHERE salary BETWEEN 3000 AND 7000;
9. Using LIKE
SELECT * FROM employees
WHERE first_name LIKE 'A%';
10. Using IN
SELECT * FROM employees
WHERE department_id IN (10,20,30);
3. Aggregate Functions
11. COUNT
SELECT COUNT(*) FROM employees;
12. SUM
SELECT SUM(salary) FROM employees;
13. AVG
SELECT AVG(salary) FROM employees;
14. MAX
SELECT MAX(salary) FROM employees;
15. MIN
SELECT MIN(salary) FROM employees;
4. Grouping Data
16. GROUP BY
SELECT department_id, COUNT(*)
FROM employees
GROUP BY department_id;
17. HAVING Clause
SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 5000;
5. Join Queries
18. INNER JOIN
SELECT e.first_name, d.department_name
FROM employees e
INNER JOIN departments d
ON e.department_id = d.department_id;
19. LEFT JOIN
SELECT e.first_name, d.department_name
FROM employees e
LEFT JOIN departments d
ON e.department_id = d.department_id;
20. RIGHT JOIN
SELECT e.first_name, d.department_name
FROM employees e
RIGHT JOIN departments d
ON e.department_id = d.department_id;
21. FULL OUTER JOIN
SELECT e.first_name, d.department_name
FROM employees e
FULL OUTER JOIN departments d
ON e.department_id = d.department_id;
6. Subqueries
22. Subquery in WHERE
SELECT * FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
23. Subquery with IN
SELECT * FROM employees
WHERE department_id IN
(SELECT department_id FROM departments WHERE location_id = 1700);
7. Data Modification Queries
24. INSERT
INSERT INTO employees (id, name, salary)
VALUES (101, 'John', 5000);
25. UPDATE
UPDATE employees
SET salary = 6000
WHERE id = 101;
26. DELETE
DELETE FROM employees WHERE id = 101;
8. Table Management Queries
27. Create Table
CREATE TABLE students (
id NUMBER,
name VARCHAR2(50),
age NUMBER
);
28. Alter Table
ALTER TABLE students
ADD email VARCHAR2(100);
29. Drop Table
DROP TABLE students;
9. Advanced Queries
30. Row Number
SELECT first_name, salary,
ROW_NUMBER() OVER (ORDER BY salary DESC) AS rank
FROM employees;
31. Rank Function
SELECT first_name, salary,
RANK() OVER (ORDER BY salary DESC) rank
FROM employees;
32. Dense Rank
SELECT first_name, salary,
DENSE_RANK() OVER (ORDER BY salary DESC)
FROM employees;
33. Top 5 Highest Salary
SELECT *
FROM employees
ORDER BY salary DESC
FETCH FIRST 5 ROWS ONLY;
10. Useful Utility Queries
34. Show Current Date
SELECT SYSDATE FROM dual;
35. String Length
SELECT LENGTH('Oracle') FROM dual;
36. Uppercase
SELECT UPPER('oracle') FROM dual;
37. Lowercase
SELECT LOWER('ORACLE') FROM dual;
38. Concatenate
SELECT first_name || ' ' || last_name FROM employees;
11. Performance Related Queries
39. Create Index
CREATE INDEX idx_salary
ON employees(salary);
40. Drop Index
DROP INDEX idx_salary;
41. Explain Query Plan
EXPLAIN PLAN FOR
SELECT * FROM employees WHERE salary > 5000;
12. Additional Useful Queries
42.
SELECT USER FROM dual;
43.
SELECT table_name FROM user_tables;
44.
SELECT column_name FROM user_tab_columns WHERE table_name='EMPLOYEES';
45.
SELECT * FROM all_tables;
46.
SELECT * FROM user_indexes;
47.
SELECT * FROM user_constraints;
48.
SELECT * FROM v$database;
49.
SELECT * FROM v$instance;
50.
SELECT * FROM dual;Prerequisites to Learn Oracle SQL
Before practicing these queries in Oracle Database, you should have basic knowledge of:
SQL syntax fundamentals
Database tables and relationships
Primary keys and foreign keys
Basic command-line or GUI tools for Oracle
Even beginners can practice these queries using a sample employees database.
Real-World Uses of Oracle SQL Queries
Developers and database administrators use these queries in real projects such as:
Building enterprise applications
Generating reports from large databases
Managing employee and customer records
Performing data analysis
Optimizing database performance
Mastering these queries helps developers work efficiently with Oracle Database systems used in large organizations.
Final Thoughts
Learning these top 50 Oracle SQL queries will significantly improve your ability to work with Oracle Database. From basic data retrieval to advanced ranking functions, these queries cover essential database operations used in real-world development.
If you are preparing for SQL interviews, database administration tasks, or backend development, mastering these queries will give you a strong foundation.
For more tutorials on Oracle Database, SQL, and database optimization, stay connected with our blog.
Frequently Asked Questions (FAQ)
What are Oracle SQL queries?
Oracle SQL queries are commands used to retrieve, manipulate, and manage data in an Oracle Database.
Is Oracle SQL different from standard SQL?
Oracle SQL mostly follows standard SQL but includes additional features, functions, and optimization techniques specific to Oracle Database.
How can beginners practice Oracle SQL queries?
Beginners can practice using sample databases like the employees table and experiment with SELECT, JOIN, GROUP BY, and subqueries.
Which SQL queries are most commonly used by developers?
The most commonly used queries include SELECT, JOIN, WHERE, GROUP BY, COUNT, INSERT, UPDATE, and DELETE.
Are SQL skills important for developers?
Yes. SQL is one of the most essential skills for backend developers, data analysts, and database administrators.
Related Tutorials
You may also like these tutorials:
SQL Interview Questions for Developers
Beginner Guide to Database Design
MySQL vs Oracle SQL Comparison
Top Database Optimization Techniques

