Over the years Oracle Magazine has published a great series of tutorials/articles on SQL and PL/SQL.

These have covered a basics series on SQL and PL/SQL aimed at newbies and slightly more advanced series called Beyond SQL 101.

The following contains the links to these series of tutorials/articles in Oracle Magazine and I’d recommend them to all to read and to try.

Download, create and install the Oracle Sample Schema Data. Many of the examples in the following tutorials use this data, and many other websites and blogs will have examples based on these data sets.

SQL 101 Series
Part 1 – Get your Information in Order
Part 2 – Modeling & Accessing Relation Data
Part 3 – Getting answers with SELECT
Part 4 – Why WHERE Matters
Part 5 – An Order of Sorts
Part 6 – A function of character
Part 7 – From Floor to Ceiling & Other Functional Cases
Part 8 – Selecting a Type that is Right for you
Part 9 – Having Sums, Averages & other Grouped Data
Part 10 – A Window into the World of Analytic Functions
Part 11 – Ranks, Lagging, etc Analytic Functions continued
Part 12 – Pivotal Access, Analytic Functions Concluded

Beyond SQL 101 Series
Part 1 – United Relations: Accessing more than one table at once
Part 2 – Combinations with Joins and Subqueries
Part 3 – Selective Results
Part 4 – Manipulate, Commit and Take back: How change occurs
Part 5 – Changing and Creating Consistently with Integrity
Part 6 – Defining, Constraining and Manipulating your Entities
Part 7 – Sequential Additional and Different Points of View
Part 8 – Rapid Retrieval of Rows in Small Data Sets
Part 9 – The Cost of Data Retrieval
Part 10 – Meta-Access and Repetitive Composition
Part 11 – Setting Parameters for Dynamic Productivity
Part 12 – Becoming Privileged and Creating Synonymously
Part 13 – Limited Profiles and Private References

PL/SQL 101 Series
Part 1 – Building with Blocks
Part 2 – Controlling the Flow of Execution
Part 3 – Working with Strings
Part 4 – Working with Numbers in PL/SQL
Part 5 – Working with Dates in PL/SQL
Part 6 – Error Management
Part 7 – Working with Records
Part 8 – Working with Collections
Part 9 – Bulk Processing with BULK COLLECT and FORALL
Part 10 – The Data Dictionary: Make Views Work for You
Part 11 – Wrap Your Code in a Neat Package
Part 12 – Working with Cursors