Software Training Institute in Chennai with 100% Placements – SLA Institute
⭐ Exclusive Summer Courses Offer ⭐ 💰 Flat ₹5,000 - ₹10,000 off on all courses 👨‍👩‍👧 Additional discounts for group enrollments 🎓 100% Placement Support 🏆 90,000+ Students Successfully Placed 🚀 Avail now! Limited seats only!
Oracle Sql Tutorial - Softlogic Systems
Share on your Social Media

Oracle SQL Tutorial for Beginners

Published On: June 28, 2024

Introduction

Are you overwhelmed by the technical jargon of databases and struggling to write your first query? Many beginners feel lost when trying to navigate complex SQL syntax and connect to the Oracle server.

This Oracle SQL tutorial is designed to explain SQL, providing a clear, hands-on path to master essential data querying and manipulation skills. We focus on practical examples to build your confidence quickly. Click here to view our full Oracle SQL course syllabus and start querying data now!

Why Students or Freshers Learn Oracle SQL?

Learning Oracle SQL is a foundational skill that provides immediate career advantages in the tech industry.

  • Universal Data Language: SQL is the standard language for interacting with almost all major relational databases, making it a mandatory skill for any data-focused role.
  • High Market Demand: Companies globally rely on robust Oracle Databases. Proficiency in Oracle SQL directly qualifies you for in-demand jobs like Data Analyst, SQL Developer, and Database Administrator.
  • Career Foundation: Mastering SQL opens doors to advanced data disciplines, including Business Intelligence (BI), Big Data, and Data Science.
  • Essential for Enterprise: Oracle’s stability and power ensure that Oracle SQL expertise remains a highly valued asset in corporate environments.

Ready to Ace Your Interview? Click here for the Top Oracle SQL Interview Questions and Answers for Freshers!

Check your knowledge level with our smart Knowledge Assessment Tool

  • Instant skill evaluation with accurate scoring
  • Identify strengths and learning gaps easily
  • Designed for students and working professionals
  • Smart assessment to guide your career growth

Take Your Eligibility Report Instantly

Step-by-Step Oracle SQL Tutorial for Beginners

This step-by-step tutorial focused specifically on mastering Oracle SQL from the ground up! This guide is tailored for beginners, covering everything from setting up your environment to executing complex queries.

We’ll use practical examples and clear explanations to get you comfortable with the essential language of the Oracle Database.

Step 1: Setting Up Your Oracle Environment (Installation)

Before you write any SQL, you need a database to practice on and a tool to interact with it. We recommend using Oracle Database Express Edition (XE), a free, full-featured version, and SQL Developer, the official graphical tool.

1.1 Download and Install Oracle Database XE

  • Download XE: Visit the Oracle Technology Network (OTN) and download the installer for the latest stable Oracle Database XE (e.g., 21c XE) for your operating system.
  • Run Installer: After extracting the files, run the setup.exe.
  • Set the Password (Crucial): During the installation wizard, you will be prompted to set the SYS/SYSTEM password. Remember this password! It is your master key for administrative access.
  • Complete Installation: Finish the wizard. Note the connection details, especially the default port (usually 1521) and the Service Name (often XEPDB1 or XE).

1.2 Accessing with SQL Developer

SQL Developer is the basic tool for writing and executing Oracle SQL.

  1. Download SQL Developer: Download the application from the Oracle website. It typically runs without installation, just unzip and run the executable.
  2. Create a New Connection:
    • Click the green plus icon (+) in SQL Developer.
    • Connection Name: Give it an appropriate name, for example, My_XE_Connection.
    • Username: SYSTEM, the administrative user.
    • Password: The password you created while installing XE.
    • Hostname: localhost
    • Port: 1521
    • Service Name: Use the Service Name from your installation, e.g., XEPDB1.
    • Click Test. If the status shows “Success,” click Connect.

A SQL Worksheet will open where you can write your first SQL commands.

Step 2: The Core SQL Categories

SQL is divided into categories based on its purpose. For beginners, the two most important are DDL (defining structure) and DML (manipulating data).

2.1 DDL – Data Definition Language

DDL statements are used to define or modify the structure of database objects, like tables.

Creating Your First Table (CREATE TABLE)

Let’s create a table, called PRODUCTS, to track our product inventory:

CREATE TABLE PRODUCTS (

    product_id NUMBER(6) PRIMARY KEY,

    name VARCHAR2(50) NOT NULL,

    price NUMBER(8, 2),

    stock_quantity NUMBER(5) DEFAULT 0,

    created_date DATE DEFAULT SYSDATE

);

Explanation:

  • product_id NUMBER(6) PRIMARY KEY: A unique, non-null identifier for each product.
  • name VARCHAR2(50) NOT NULL: Text data, must be present.
  • price NUMBER(8, 2): A number up to 8 digits total, with 2 after the decimal (e.g., 999999.99).
  • DEFAULT SYSDATE: Automatically inserts the current system date, if no value is provided.
Modifying a Table (ALTER TABLE)

To add a new column for product category:

ALTER TABLE PRODUCTS

ADD (category VARCHAR2(30));

Removing a Table (DROP TABLE)

This query is used to delete the table structure and all its data irrecoverably.

DROP TABLE PRODUCTS;

2.2 DML – Data Manipulation Language

The DML statements modify the data that is contained in the tables.

Adding Data INSERT INTO

To populate your PRODUCTS table:

— Inserting values for all defined columns

INSERT INTO PRODUCTS 

VALUES (1001, ‘Laptop Pro X’, 1250.00, 50, ’01-SEP-2025′, ‘Electronics’);

— Inserting data only for specific columns (using default values for others)

INSERT INTO PRODUCTS (product_id, name, price)

VALUES (1002, ‘Wireless Mouse’, 25.99);

— You can check the row count: 2 rows inserted.

Fetching Data (SELECT) – The Heartbeat of DQL

The SELECT is one of the most powerful and frequently used commands, which fetches data.

Select All Columns and All Rows:

SELECT *

FROM PRODUCTS;

Select Specific Columns:

SELECT name, price, stock_quantity

FROM PRODUCTS;

Filtering Data (WHERE Clause):

SELECT name, price

FROM PRODUCTS

WHERE stock_quantity < 100; — Find low stock items

Oredering Results (ORDER BY Clause):

SELECT name, price

FROM PRODUCTS

ORDER BY price DESC; — Sorts by price from highest to lowest

Modifying Existing Data (UPDATE)

To update the price of ‘Wireless Mouse’ and set its category:

UPDATE PRODUCTS

SET price = 29.99, category = ‘Accessories’

WHERE product_id = 1002;

Caution: Always use a WHERE clause with UPDATE and DELETE! Without it, you will affect all rows in the table.

Deleting Data Rows (DELETE)

To remove the ‘Laptop Pro X’ row:

DELETE FROM PRODUCTS

WHERE product_id = 1001;

2.3 TCL -Transaction Control Language

DML operations (INSERT, UPDATE, DELETE) are not permanent until you explicitly finalize them using TCL.

  • COMMIT: Makes all changes permanent and visible to other users.
  • ROLLBACK: Undoes all changes since the last COMMIT or session start.

— Insert a temporary product

INSERT INTO PRODUCTS (product_id, name) VALUES (1003, ‘Temp Item’);

— Before COMMIT, this change is only visible to you.

ROLLBACK;

— The row for ‘Temp Item’ is now gone.

— Insert a permanent product

INSERT INTO PRODUCTS (product_id, name) VALUES (1004, ‘Permanent Item’);

COMMIT;

— The change is now saved permanently to the database.

Step 3: Intermediate SQL: The Power of Querying

Once you can define tables and manipulate individual records, you need to learn how to structure complex queries.

3.1 Advanced Filtering and Comparison Operators

You can combine conditions using logical operators (AND, OR, NOT).

SELECT name, price, category

FROM PRODUCTS

WHERE price > 50 

AND category = ‘Electronics’

ORDER BY price;

Useful Comparison Operators:

OperatorDescriptionExample
LIKEPattern matching (use % for zero or more characters)WHERE name LIKE ‘W%’ (starts with W)
BETWEENValue within an inclusive rangeWHERE price BETWEEN 20 AND 50
INValue matches any value in a listWHERE category IN (‘Electronics’, ‘Accessories’)
IS NULLChecks for null (missing) valuesWHERE stock_quantity IS NULL

3.2 Aggregate Functions and Grouping

These functions perform calculations across a set of rows and return a single summary value.

  • COUNT(): Returns the count of rows returned.
  • SUM(): This returns the overall sum of values.
  • AVG(): Returns the average value.
  • MAX()/MIN(): Returns the highest-lowest value.

— Find the total number of products

SELECT COUNT(*) AS total_products FROM PRODUCTS;

— Find the average price of all products

SELECT AVG(price) AS average_price FROM PRODUCTS;

Grouping Results (GROUP BY)

To apply aggregate functions to subsets of data (e.g., finding the average price per category):

SELECT category, COUNT(*) AS items_in_category, AVG(price) AS avg_price

FROM PRODUCTS

GROUP BY category;

Filtering Groups (HAVING)

The WHERE clause filters individual rows before grouping. The HAVING clause filters groups after they have been calculated.

— Find categories where the average price is over 100

SELECT category, AVG(price)

FROM PRODUCTS

GROUP BY category

HAVING AVG(price) > 100;

3.3 Merging Tables

Databases are built on normalization, meaning data is split into related tables. JOIN clauses link rows from two or more tables based on a related column (a foreign key).

Now let’s create another table, ORDERS:

CREATE TABLE ORDERS (

    order_id NUMBER(6) PRIMARY KEY,

    product_id NUMBER(6),

    customer_name VARCHAR2(50),

    order_date DATE,

    CONSTRAINT fk_product

        FOREIGN KEY (product_id)

        REFERENCES PRODUCTS(product_id)

);

INSERT INTO ORDERS VALUES (201, 1002, ‘Alice Johnson’, SYSDATE);

COMMIT;

Inner Join (Standard Join)

Returns only the rows that have matching values in both tables.

— Show the product name and the customer who ordered it

SELECT p.name AS product_name, o.customer_name

FROM PRODUCTS p

INNER JOIN ORDERS o

ON p.product_id = o.product_id;

Note: p and o are table aliases (or shortcuts, if you may) that keep the query clean.

Left Outer Join

Returns matching rows plus all rows from the left table (in this case, PRODUCTS), even if they have no matching orders.

— Show ALL products, and if they have an order, show the customer name

SELECT p.name AS product_name, o.customer_name

FROM PRODUCTS p

LEFT OUTER JOIN ORDERS o

ON p.product_id = o.product_id;

Step 4: Essential Oracle Functions

Oracle SQL offers hundreds of built-in functions to manipulate and format data within your queries.

4.1 Single-Row Functions

These functions operate on one row at a time and return one result per row.

TypeFunctionPurposeExample
CharacterUPPER(column)Converts text to uppercaseSELECT UPPER(name) FROM PRODUCTS;
NumericROUND(num, places)Rounds a numberSELECT ROUND(price, 0) FROM PRODUCTS;
DateMONTHS_BETWEENCalculates months between two datesSELECT MONTHS_BETWEEN(SYSDATE, created_date) FROM PRODUCTS;
ConversionTO_CHARConverts date or number to formatted textSELECT TO_CHAR(SYSDATE, ‘YYYY-MM-DD’) FROM DUAL;

Note: FROM DUAL is a special, single-row, single-column Oracle dummy table used to select values from functions without referencing a specific user table.

4.2 Subqueries

A subquery (or inner query) is a SELECT statement nested inside another SQL statement. They are powerful for complex filtering.

Example: Find all products that are priced higher than the average price of all products.

  1. Find the average price-inner query.
  2. Use that result to filter products (outer query).

SELECT name, price

FROM PRODUCTS

WHERE price > (

    SELECT AVG(price)

    FROM PRODUCTS

);

Mastery of Oracle SQL only comes through relentless practice on real-world scenarios. You need to transition from simply running commands to solving problems efficiently.

Ready to apply your knowledge to challenging database problems and refine your query writing skills? Click here for a curated list of Oracle SQL Challenges and Solutions to elevate your expertise!

Real Time Examples for Oracle SQL Tutorial for Learners

Understanding how SQL solves business problems is key to mastering it. Here are three common real-world scenarios where Oracle SQL is indispensable:

Retail Sales Analysis and Reporting

Scenario: A national retail chain needs daily reports showing which store locations are underperforming, which products are selling fastest, and the total revenue generated by region. This massive volume of sales data is stored in the Oracle Database.

Core SQL Concepts:

  • GROUP BY and Aggregate Functions (SUM, COUNT): It is used to calculate total revenue (SUM(sales_amount)) and count transactions (COUNT(*)) grouped by store_id or product_category.
  • ORDER BY and WHERE: Used to sort the list of stores by their revenue (highest to lowest) and filter for specific date ranges or regions.
  • Example Query: Find the top 5 highest-revenue products sold last month.

Manufacturing and Supply Chain Tracking

Scenario: An automotive manufacturer tracks millions of parts using unique serial numbers. They need to quickly identify the current location and status (e.g., assembled, in transit, defect) of a specific part number across different warehouses and assembly lines.

Core SQL Concepts:

  • JOIN: Crucial for linking the PARTS table (containing specifications) with the LOCATIONS table (containing current warehouse IDs) and the STATUS_LOG table (containing history). 
  • UPDATE and Transactions (COMMIT): When a part moves from one assembly station to the next, the LOCATION and STATUS columns must be quickly and reliably updated in a single, committed transaction. 

Human Resources Payroll and Benefits System 

Scenario: The HR system uses Oracle to manage employee details, calculate monthly salaries, track vacation balances, and process benefits deductions based on specific criteria.

Core SQL Concepts:

  • Date Functions: Used extensively for calculating an employee’s tenure (MONTHS_BETWEEN) or determining the next pay date. 
  • Conditional Logic (CASE Statement): Used within a SELECT query to calculate benefits or bonuses based on complex rules (e.g., “If tenure > 5 years, then bonus is 10% of salary”).
  • Subqueries: Used to select the maximum salary among employees in a specific department to compare individual salaries against that benchmark. 

Ready to build something real? Click here for great Oracle SQL Project Ideas to enhance your learner portfolio!

FAQs About Oracle SQL Tutorial for Beginners

1. What SQL does Oracle use?

The base language is Standard SQL (Structured Query Language), specified by ANSI/ISO. However, Oracle’s implementation has its own dialect and powerful extension, all commonly referred to as Oracle SQL. Importantly, the procedural extension called PL/SQL allows complex programming logic to be implemented within the database.

2. What is Oracle SQL?

Oracle SQL refers to the proprietary set of commands and syntax used to manage and query data within the Oracle Database Management System, or RDBMS. It includes DDL to define structures, DML to manipulate the data, and DQL to query the data-all in support of effective interaction with large-scale enterprise data stores.

3. Is Oracle SQL the same as MySQL?

No, while both are dialects of standard SQL, they are different products, with different lineages although owned now by the same company, Oracle Corporation. Specialized functions, data types, such as VARCHAR2 in Oracle and VARCHAR in MySQL, ways of performance optimization, and other feature sets, like advanced analytical functions, stand in contrast to one another.

4. Is Oracle SQL a tool?

No, Oracle SQL is a language and not a tool. It supplies syntax to convey intent to the database server. Software such as SQL Developer, SQL*Plus, or third-party IDEs are the actual tools, that is, clients, that you write, execute, and manage the results of the Oracle SQL commands.

5. What are 5 types of SQL?

The SQL commands are divided based on five functional types:
DQL (Data Query Language): SELECT
DML (Data Manipulation Language): INSERT, UPDATE
DDL (Data Definition Language): CREATE, ALTER
TCL (Transaction Control Language): COMMIT, ROLLBACK
DCL (Data Control Language): GRANT, REVOKE

6. Is Oracle SQL hard to learn? 

Learning the basics of Oracle SQL such as simple SELECT, JOIN, and GROUP BY is relatively simple and fast. As soon as advanced topics are touched, such as sophisticated tuning, complex functions to analyze data, or writing high-performance PL/SQL code, it requires knowledge of database internals.

7. What is SQL salary? 

SQL proficiency is a core skill, not a job title in and of itself. It varies based on the primary function: Data Analyst, starting competitive; SQL Developer, mid-range; Database Administrator or Data Scientist, often achieve high-end, six-figure salaries, especially with Oracle skills.

8. Can I master SQL in 3 months? 

In about 3 months of focused learning and project work, you can get proficient and productive with essential concepts in SQL; however, the time to become truly productive and have any query optimized for petabytes of data takes several years of focused, real-world experience-especially within an enterprise Oracle environment.

9. Is SQL easier than Python? 

Generally speaking, SQL is considered an easier language to start with than Python. SQL is a declarative, domain-specific language focused solely on data interaction, whereas Python is a general-purpose, procedural language with broader syntax, object-oriented concepts, and a steeper learning curve for complete beginners. 

10. Is SQL a dead language? 

Of course, not. SQL is among the most stable and important technologies of modern IT. It still remains the backbone of most relational database management systems and is indispensable in data science, web development, and large-scale enterprise data management, meaning this technology is here to stay.

Conclusion

You’ve mastered the foundational elements of Oracle SQL, including DDL, DML, filtering, and joining tables. These skills in querying and managing data are fundamental to virtually every successful application and business worldwide. Your proficiency in Oracle SQL is a powerful career asset. Ready to gain certified, in-depth knowledge and master advanced Oracle SQL topics, like stored procedures and performance tuning? Enroll now in our complete Oracle SQL Course in Chennai and accelerate your career!

Share on your Social Media
Get Your Instant Job & Placement Eligibility
Report in Just 30 Seconds!
Below 30% - not Eligible (Needs Preparation)
30% – 70% - Partially Eligible (Needs Guidance)
Above 70% - Fully Eligible (Ready to Start)

We are excited to get started with you

Give us your information and we will arange for a free call (at your convenience) with one of our counsellors. You can get all your queries answered before deciding to join SLA and move your career forward.