Do you want to learn SQL?
You’ve come to the right place.
On this page, you’ll find videos, links, and information for this Introduction to Oracle SQL course. It covers the beginner level topics in my SQL Roadmap.
So, keep reading to see what you’ll learn and watch the videos in this course.
Contents – Introduction to Oracle SQL
Here’s what’s included in this course. You can click on each of the headings to be taken to that part of the page, where you can watch the video and find related posts.
- Introduction and Setup
- Viewing Data with SELECT
- More Operators
- Sorting Data
- Set Operators
- Aggregate Functions and Grouping
- Joins and Aliases
- Functions
- Subqueries
- Inserting, Updating, and Deleting Data
- Creating, Altering, and Dropping Tables
If you want all of the scripts that I’ve used in this course, so you can follow along with the videos and run the commands yourself, enter your email address below.
1. Introduction and Setup
Welcome
This video welcomes you to the course and explains to you what you’ll learn.
How to Install Oracle Express
This video explains how to install Oracle Express, which is the database we’ll be using for this course.
How to Download and Set Up SQL Developer
This video explains how to download and set up SQL Developer, which is the IDE we’ll be using in this course.
Create a New User in SQL Developer
How to create a new user so you can use the database in SQL Developer.
Our Sample Database
Explains what our sample database is.
Setting Up Our Sample Data
How to set up the sample data for this course.
2. Viewing Data with SELECT
How to View Data With the SELECT Statement
Getting started with the SELECT statement to view data in a table
Selecting Individual Columns
How to select individual columns in a SELECT statement
Filtering Data with WHERE
How to restrict the rows you display with the WHERE clause
Comparison Operators
What comparison operators are and how to use them in your queries.
Filtering on Partial Values with LIKE
How to use the LIKE operator to filter on partial values
Filtering on Date Values
How to filter on date values in SQL
Using Two Filters
How to use two filters in a SELECT query in SQL
More Than Two Filters
How to use more than two filters in a single query
What is NULL?
What a NULL value is and how it’s treated in SQL
Getting Unique Records with DISTINCT
How to find unique records using the DISTINCT keyword
3. More Operators
IN and NOT IN
Learn about the IN and NOT IN operators
BETWEEN and NOT BETWEEN
This lesson covers the BETWEEN and NOT BETWEEN operators
ALL Keyword
Learn what the ALL keyword does with sets of values
ANY Keyword
Learn what the ANY keyword does with sets of values
4. Sorting Data
Sorting Results with the ORDER BY Clause
Specify the order of your result set using ORDER BY
Related: SQL ORDER BY – The Complete Guide
Ordering By Multiple Columns
Learn how to order by multiple columns using ORDER BY
5. Set Operators
Set Operators and UNION
Explains what set operators are and how to use UNION
UNION ALL Operator
What UNION ALL is and how to use it.
Related: SQL Set Operators: The Complete Guide to UNION, INTERSECT & MINUS
INTERSECT Operator
Learn what the INTERSECT operator is and how to use it
MINUS Operator
Learn what the MINUS operator is and how to use it
Three or More Sets At Once
How to handle three or more sets in the one query
6. Aggregate Functions and Grouping
What are Functions?
An explanation of what functions are in SQL
Related: SQL Aggregate Functions: A Guide
Counting Data
Learn how to count data and records using a function
Using COUNT in Other Ways
Other ways to use the COUNT function in SQL
Counting Data Within Groups with GROUP BY
How to use grouping and count to count occurrences of data.
Related: SQL GROUP BY: The Complete Guide
GROUP BY with WHERE and ORDER BY
Using GROUP BY to group records, filter them, and order them
GROUP BY with Multiple Columns
Learn how to group with multiple columns
GROUP BY with HAVING
Combine the HAVING clause with GROUP BY to filter records
The SUM Function
Learn how to add values using the SUM function
Using the MAX and MIN functions
Learn how to use the MAX and MIN functions
Using the AVG function
Find the average of values using the AVG function
7. Joins
What are Table Aliases?
Learn what table aliases are and how to use them
What Are Column Aliases?
Learn what column aliases are and how to use them
What Are Joins?
Find out what joins are, and how they are useful.
Related: SQL Joins: The Complete Guide
Inner Join
Learn what an inner join is and how to include it in your query
Left Outer Join
Learn what a left outer join is and how you can use it
Right Outer Join
Learn what a right outer join is, how it differs from a left outer join, and how to use it
Full Outer Join
Learn what a full outer join is, and how to use it in your queries
Natural Join
Find out what a natural join is and when you should/shouldn’t use it
Cartesian or Cross Join
See what a cartesian join or cross join is, and when you might use one
Self Join
Learn what a self join is and when you can use one.
Joining Many Tables
Find out how to join many tables together
Alternative Join Syntax
Learn about Oracle’s alternative syntax for joining tables
8. Functions
String Functions
Learn what string functions are and see some examples of them
Related: Oracle SQL Functions list
Nesting Functions Within Functions
Learn how to nest one function inside another function, and why this might be needed
Number Functions
Learn what number functions are and see some examples of them
Date Functions
Learn what date functions are and see some examples of them
Data Types and Conversion Functions
Find out about different data types and how to convert between them
Related: A Guide to the Oracle Data Types
The CASE Statement
Learn what the CASE statement is and how to use it
9. Subqueries
What are Subqueries?
Find out what subqueries are and how you might use them
Single Row Subqueries
Explains what a single row subquery is and how it’s used
Multi Row Subqueries
Explains what a multi row subquery is and what it can be used for
10. Inserting, Updating, and Deleting Data
Inserting Data
How to add or insert data into a table
Related: The Complete Guide to the SQL INSERT INTO Statement
Inserting Data From Another Table
How to insert data into a table from another table
COMMIT and ROLLBACK
An explanation of what COMMIT and ROLLBACK is
Truncating Data
What the TRUNCATE statement does and how it’s different to DELETE.
11. Creating, Altering, and Dropping Tables
Create a Table
How to create a new table
Related: SQL Create Table Syntax and Examples – The Complete Guide
Alter a Table
How to alter several parts of an existing table
Related: SQL ALTER TABLE: A Complete Guide
Drop a Table
How to drop or delete a table
Related: A Guide to the Oracle DROP TABLE Statement to Delete Tables in SQL
Conclusion
The conclusion to the course
If you want all of the scripts that I’ve used in this course, so you can follow along with the videos and run the commands yourself, enter your email address below.
If you have any questions or feedback, let me know in the comments below!
Hi Ben,
I am currently going through your series and was wondering how I get access to the create_user.sql file?
Thanks,
Michael
Hi Michael, I’ve send you an email about this. I realised the file should have been available after you op-in for the SQL files, but it wasn’t. Thanks for letting me know!
Hi Ben
Please share the create_user.sql file . Why did you not use the sample HR schema?
Thanks
Hi Manu, the create_user.sql file is available along with all the others.
The sample HR schema doesn’t come with Oracle Express, so I created my own tables rather than use the same ones that other places were using.
Hi Ben,
Oracle is planning to release 18c version of express edition within the next couple of months according to what I have seen on some forums. If it is released, will you be updating any of your videos on Intro to SQL to reflect the new version? Just curious to know.
Thanks.
Hi Prashant,
Yeah, I’ve heard that as well, and I’m looking forward to it!
I’ll probably be updating the download and installation videos, and including some Oracle 18c specific features as well. So yes they will be updated!
Thanks,
Ben
INSERT INTO example2 (table_id, first_name, last_name, registration_date, registration_category, upload_data)
VALUES (1234, ‘Alecia’, ‘Moore’, DATE ‘2018-07-12’, ‘y’, ‘She is a singer’)
trying to insert these records into a table, and I am receiving this error message ora 01465 invalid hex number.
Ben,
Oracle 18c XE is now available for Install onWindows. Just a FYI.
Thanks, yeah I just heard that as well, that’s great news for us developers!
Hi Ben
please video What are Functions?
This video doesn’t work with me,
I’ll take a look at the issue with the video. Does it work if you watch it directly on YouTube?
I didn’t try YouTube.
Well, I’ll try it.
Thank you so much.
Hi Ben,
Just wanted to say huge thanks for making Oracle sql so easy to learn!
I enjoyed your course very much!
Thank you!
Thanks Marina, glad you liked it!
I am getting ORA-01017: invalid username/password; logon denied error after entering my user name and password.
Although I am pretty sure that the user name and the password is correct
If you’re sure the password is correct, there are a few other things you could check. I’ve written about connection issues here, hopefully one of these will resolve the issue for you.
Dear Ben,
I am trying to create new user following your book ‘Beginning-Oracle-SQL-for-Oracle-Database-18c’. But in my case, I am not able to see any granted roles which is absolutely empty and its throwing error message when i click on apply button. Can you please email me regarding this issue please!!
I really appreciate your time!!
Just completed the introduction lessons. Very useful and the best thing is they are crisp and to the point.
Thanks, glad you like it!
I use Oracle Database 18c XE.
I run this script to create user: create_user.sql
I got error messages pls help me to correct it:
Error starting at line : 1 in command –
CREATE USER intro_user IDENTIFIED BY mypassword
Error report –
ORA-65096: érvénytelen közönséges felhasználónév vagy szerepnév
65096. 00000 – “invalid common user or role name”
*Cause: An attempt was made to create a common user or role with a name
that was not valid for common users or roles. In addition to the
usual rules for user and role names, common user and role names
must consist only of ASCII characters, and must contain the prefix
specified in common_user_prefix parameter.
*Action: Specify a valid common user or role name.
Error starting at line : 3 in command –
GRANT CONNECT TO intro_user
Error report –
ORA-01917: a(z) ‘INTRO_USER’ felhasználó vagy szerepkör nem létezik
01917. 00000 – “user or role ‘%s’ does not exist”
*Cause: There is not a user or role by that name.
*Action: Re-specify the name.
Error starting at line : 5 in command –
GRANT CREATE SESSION, GRANT ANY PRIVILEGE TO intro_user
Error report –
ORA-01917: a(z) ‘INTRO_USER’ felhasználó vagy szerepkör nem létezik
01917. 00000 – “user or role ‘%s’ does not exist”
*Cause: There is not a user or role by that name.
*Action: Re-specify the name.
Error starting at line : 7 in command –
GRANT UNLIMITED TABLESPACE TO intro_user
Error report –
ORA-01917: a(z) ‘INTRO_USER’ felhasználó vagy szerepkör nem létezik
01917. 00000 – “user or role ‘%s’ does not exist”
*Cause: There is not a user or role by that name.
*Action: Re-specify the name.
Error starting at line : 9 in command –
GRANT CREATE TABLE TO intro_user
Error report –
ORA-01917: a(z) ‘INTRO_USER’ felhasználó vagy szerepkör nem létezik
01917. 00000 – “user or role ‘%s’ does not exist”
*Cause: There is not a user or role by that name.
*Action: Re-specify the name.
Hi, this error may appear when you’ve logged in to the Container database instead of the Pluggable database, which is a new feature in Oracle 12c onwards. Which database did you log in to? I believe it should be XEPDB1 and not XE.
Sir, your youtube videos on SQL have solved almost all of my doubts. Thank you for helping. But, I have one doubt on Group by columns. Please can you help me in solving my doubt. Kindly reply to my email ID and there i will ask the doubt.