I’ve purchased Udemy courses before and found them useful. Each class really depends on how well your learning style syncs with the teacher. Imtiaz Ahmad, who authored my most recent course The Complete SQL Certification Course proved an excellent coach for SQL training. He spoke clearly and concisely, while also repeating important tips and points. This style is crucial to new students of any material or skill so they can build solid foundations before moving to more advanced skill levels. Furthermore, he provides questions and solutions during the sections where you are forced to problem solve and develop the habit of thinking on your own. This is also crucial in particular to coding and data where answers are not given to you and you must problem solve on your own. Your success depends on your own problem solving ability and resourcefulness, there are no instruction manuals.
He starts with database basics. A database is defined. From there, he explains what SQL is and how it can be utilized. SQL stands for Structured Query Language and is more or less uniform across multiple SQL platforms. Then he moves on to a brief explanation of how Oracle’s cloud database “instance” will function as it pertains to the course. He demonstrates how each student can setup their own free account with apex.oracle.com where a small sample database and an SQL command editor is available.
Once you create an account, you are granted a free, small workspace and the Apex Oracle SQL workshop is utilized for the rest of the course.
Single Table Queries
The next section starts the student off with the real meat of the course. You learn what a Select statement is and does. It’s the basic form of nearly every SQL query for retrieving data from a database.
There are 4 key commands – SELECT, FROM, WHERE, AND
These 4 commands define the structure of any query and must be in this order as shown in the example below:
WHERE job = ‘SALESMAN’
AND sal = ‘1600’
The example above pulls all data records (*) from the employees table where the job column equals SALESMAN and the sal column equals 1600. In this case, there was only one employee (ALLEN) who fit the criteria.
He moves to demonstrated various filtering conditions that are attached to the WHERE/AND clauses. There are numerous operators and he slowly and concisely goes through the most common ones like BETWEEN, IN, and NULL. Operator precedence and aliasing are also covered.
Single Row Functions
Single Row Functions are explained next, where the student begins to understand a little bit of the power of SQL queries and shows what kinds of abilities SQL contains. SRFs are functions that act on a single row at a time. They return a single value EVERY time for each row. The perform simple tasks like capitalizing the first letter of a record (INITCAP) or counting the length of a record (LENGTH). After reviewing various other operators, the student moves on to group functions.
In this section, you learn that these functions are different from SRFs, in that they run for each record (row) of data but produce only a single output.
You learn operators like MIN, MAX, SUM, and COUNT among others. Then you learn about the GROUP BY and HAVING clauses, which enable you to make more meaningful and powerful queries. At this point, you learn the full SQL structure of a query.
1) SELECT column 1, column 2, column 3
2) FROM DatabaseX
3) WHERE “enter single row functions”
4) GROUP BY column X
5) HAVING “enter group functions”
6) ORDER BY column Y
With this knowledge, you can begin to understand more complex SQL queries.
Multi-Table Queries and Joins
In this section, he demonstrates how to make subqueries (Select statements within Select statements) and relate tables together using Joins. These query skills are very powerful and necessary for most professional demands of SQL querying. He elaborates on Full Outer Joins, Left Joins, Right Joins and Inner Joins. Essentially, Joins enable you to draw data from multiple tables by “relating” two columns into one. An example from my Apex editor is below.
In the example, the Dept Number column from both the employee and Department data tables became “related” and combined the queried data from both tables together.
Creating, Altering, and Updating Tables Using SQL (Exercises in Lectures)
In this last section, you learn how to create your own tables and design considerations. You also learn to insert data, modify table structure (ALTER), and use commands like DELETE, DROP, and TRUNCATE. You can create tables with a primary key constraint or create with SELECT + UPDATE data. He also shows how to work with database indexes, which was added recently to the course.
All in all, the course is excellent. He takes you from the basics and simplest actions of SQL to the most complex and useful queries and explains how to manipulate and change data in a given database. His voice is clear, he moves slowly, provides exercises and solutions for you to solve at home and provides you with tips and resources like techonthenet.com to find further information and help.
It’s not as easy as watching videos and repeating what he does to truly learn SQL though. As he emphasizes multiple times throughout the course, repetition and practice are the only way to master your SQL skills and develop. As a means of practice, I have done some exercises on sql-ex.com. An example solution that I completed is below:
I continue to build on this experience, practice my SQL skills, and am excited that I’ve learned this much in only several weeks time. Thanks to Imtiaz Ahmad’s Udemy course, I am on track to learn and develop my knowledge of data analysis and understand what it takes to self-direct one’s progress.