hey everyone I know a lot of you guys are looking to learn SQL and I know that you prefer to learn SQL for free but the challenging part is how do you get started and more importantly what are the different concepts you will need to learn based on your requirement right because there are so many different concepts in SQL so do you need to learn each and everything different jobs would need a different level of SQL expert dice so some of you guys might just want to learn basic SQL some of you guys might be looking to learn intermediate level of SQL there might be others who already know the basics and intermediate or at least they think that they know and they would want to learn Advanced SQL and there are others who are looking to become a database developer or an SQL Developer in that case just the normal SQL would not suffice you might want to learn certain additional SQL Concepts right and that is why I wanted to make this video a complete SQL roadmap where I'm going to mention all the different SQL Concepts you will need to learn based on the level of expertise you want to gain in SQL based on your a job or whatever you are looking for so I have divided this video into five parts in the first part I'm going to talk about all the prerequisites how do you choose a database what tools you need Etc the next four parts I'm going to split them based on the level of expertise so I'm going to have a basic intermediate level advanced level and SQL for developers under each of these sections I'm going to mention exactly what SQL Concepts you will need to learn I'm also going to mention the resources that you can use to learn these Concepts and I'm also going to mention the platforms that you can use to practice these Concepts and of course I'm also going to mention the jobs that you can Target under each of these sections now before I can start the video is sponsored by springboard I'll talk more about them a little later in the video so let's start with the prerequisites now the very first thing that you need to understand is SQL is basically a programming language that is used to interact with relational database right so let's say you are building an application or a software now your application would definitely need data right but the data is generally not stored in the application itself in most cases the data is stored in a relational database right now of course there are non-relational database as well which does not need to use SQL I'm not talking about them I'm only talking about relational database and currently the most widely used database is still a relational database okay so you have an application it needs data the data is stored in a relational database so there needs to be a way for your application to interact with the relational database right now relational database only understands one language and that one language is SQL so if your application needs to communicate with the relational database then it has to communicate in the language of SQL well only and that is why you need SQL okay now the problem is there are several different types of relational database now the most popular relational database as of December 2022 is Oracle MySQL Microsoft SQL server and postgresql of course there are other cloud-based database or data warehouses as well like Google bigquery Amazon redshift snowflake Etc so among all of these databases which database should you choose when you are getting started in learning SQL a simple answer is it does not matter right it does not matter which database you choose in order to learn SQL because 80 to 90 percent of the SQL that is used in all of these rdbms are basically the same the syntax is the same the concepts are the same so whatever you learn in one rdbms you will be able to apply them in any other rdbms you might have to use in the future so let's say you learned SQL in Oracle and tomorrow you get a job where your company is using Microsoft SQL Server you don't have to worry at all within a span a few days you will get hangs on with the Microsoft SQL server and whatever you have learned in Oracle will still be applicable in Microsoft SQL Server of course there might be 10 to 20 percent of differences mainly the changes might be in certain functions which like inbuilt functions which might be supported in one rdbms and might not be supported in other rdbms but you would generally have an alternate function which basically does the same thing in other rdbms as well you just need to Google it and find those functions and in some cases there might be some syntactical differences in certain Concepts which would be very minor which anyone if you learned a concept in one rdbms you should be pretty much very easily able to grasp the other small changes in any other rdbms okay so when it comes to choosing the rdbms it does not matter but of course if you know that there is a specific rdbms that is used in your job or you know that you will be building your project in a particular rdbms then it's always better to choose that rdbms but let's say you do not have a preference right in that case if you ask me my personal preference would be to go with postcode SQL it's free it's lightweight and I think it's one of the best databases that you can use especially if you want to start a learning SQL okay so let's say you have selected your database the first thing that you need to do is you need to install your database in your system right it's pretty simple you can install any database of your choice and if you are using a cloud-based database then you just need to do a browser setup like online setup of that cloud-based database or data warehouse okay and let's say once you have installed any of these databases the next thing is you need an IDE tool with which you will be able to connect to the database and do all the different operations right now the four most popular rdbms I mentioned each of these rdbms will come with their own ID for example if you're using Oracle then you it will come with SQL Developer if you're using Microsoft SQL Server then it comes with SQL Server management studio in Windows and if you're using Mac then it comes with Azure data studio right and when it comes to mySQL you have a tool called MySQL workbench which you can install in order to work with mySQL and when it comes to postgresql well you have a tool called as PG admin which basically you can use to connect to your postcode SQL and start working okay so this is a prerequisite have a database installed and have a IDE installed if you're using a cloud-based data base or data warehouse then make sure that you have set up them in your browser right so once all of this is done basically this is the only prerequisite that you need if you are watching this video then you probably are interested in getting into data analytics data science software engineering and you know that SQL is a very important skill but SQL is not the only skill right there will be few other technical skills that you will need to learn you also need to have certain soft skills you need to build portfolio projects you need to have a good resume you need to know how to effectively search for a job right now an easier way of doing all of this in one place is by doing a bootcamp course on springboard now springboard is an online platform that offers a bootcamp courses related to data analytics data science software engineering UI ux design Etc now just to give you a quick overview of what exactly happens in a data analytics a boot camp on springboard now the course spans for around six to nine months you can do it online part-time by spending maybe 10 to 20 hours per week during the span of this course you would of course be learning all the technical skills that is required to get into data analytics like python SQL data visualization tools Etc you would also be learning some very important soft skills like improving your communication skills a business analysis skills problem solving skills and more than anything you would kind of get that analytic mindset which most of the employers are currently looking for once you have gained all of these skills you would then be assisted in building portfolio projects and when it comes to projects you would be given the option to choose your own data set based on your interest once the projects are ready you would then be assisted in building your resume and springboard will also assist you in your job search now if you qualify for the job guarantee program offered by springboard and you are unable to find a job in the set period Then springboard will give you a full refund now in addition to all of this springboard also offers a one-to-one mentorship program where an expert will be allocated to you so you can have a one-to-one discussion with them ask for any questions or clarify any doubts or ask or any assistance with your mentor so if you are looking for a bootcamp course then I would highly recommend you to check out a springboard all the details are present in the video description you would also find couple of promo code there is a promo code that will last until the new year which will give you a thousand two hundred fifty dollar off on any of the courses and there's another promo code which gives you a thousand dollar off on any courses that you take on springboard so definitely check out the video description for all the details so you have understood the prerequisites now let's look at how you can learn basic SQL first I'm going to cover all the concepts you will need to learn we'll then see the free learning resources and the platforms where you can practice finally I'll talk about the jobs that you can Target with basic SQL skills okay so the concepts that you will basically need are first of all you kind of need to understand what is a relational database and what rdbms are okay how data is stored in a relational database what is a schema with respect to relational database right once you have this basic understanding then you can look at all the different SQL commands now they basically there are five different categories ddl DML DCL TCL and dql now under each of these categories there are several different SQL commands each of these commands are meant to do certain specific tasks so you need to kind of understand what each of these commands will do okay it's also important to understand the difference between certain commands like Drop delete and truncate because some of you guys might get confused that they look similar but there is a difference between each of these commands so it's better to understand all of these commands clearly okay so once you are thorough with SQL commands then it's time to understand what are data types right so when it comes to data types you there are like hundreds of different data types you don't need to learn each and every data type primarily I would say these five type of data types so string data types maybe where care text or something else and then integer data type maybe int number or something else maybe specific to your database right then you need a date data type you need to understand how date is stored in a table using this data type then float or decimal data type then finally Boolean data type now Boolean is not supported in every rdbms so you might have to check that out and additionally I'd also asks you to understand what an identity column is now basically if you want to Auto increment a column you can basically Define the column as an identity column so it's good to understand how you can define a column as identity column and how you can basically load data into that or modify data into a table which contains an identity column okay so once you have these basic understanding we'll then look at a very important concept called as constraints okay now in constraints there are several different types of constraints but primarily you need to understand what is a primary constraint and what is a foreign key constraint okay these two are very very important without understanding this you should probably not proceed to learning anything else okay now in addition to this there are check constraint not null constraint unique constraint default constraint it's good to understand these as well okay of course there will be other constraints as well but I would recommend to First understand all of this and not worry about each and every constraint that is available so once you are thorough with constraints then you can understand normalization in SQL now there are different normal forms first normal form second normal form Etc it's good to understand why do you need to make your database normalized like how does it help and what are the different rules present in each of these normal forms okay now after that you can look at operators now there are several different types of operators you don't need to learn each and every operator but these most common operators are something that you would basically use in each and every SQL query that you write so arithmetic operators logical operators comparison operators union union all operators okay so just focus on these operators to start with and then of course you need to know what is case statement not just simple case statement but how to write nested case statement that is a case statement inside another case statement right just try to understand that it's very simple and once you are thorough with that then there are certain important SQL Clauses like distinct Clause order by Clause limit or Top Class okay now limit is basically used in most of the rdbms but I think in Microsoft SQL Server instead of limit you will need to use top okay so basically just try to understand what each of these Clauses are meant to do and I think that should be pretty good and then finally inner join basically if you want to fetch data from multiple tables how do you do an inner join right so these are all the different Concepts that you will need to learn in order to call yourself that you have basic knowledge of SQL so these are the concepts that you will need to learn for basic SQL and the resources that I would recommend is first of all you need to install a database and if you want to install postcode SQL or PG admin tool then I have created a video on this channel itself which I think is pretty clear you can just follow these steps to install postgresql I have done this in Mac but the same process can be followed in Windows as well okay and once you have installed your database and your ID is set up then the next thing is just to understand what exactly a database is now SQL is used in relational database but there are non-relational databases as well it's always good to understand what a database is what data is how data is stored all these basic things but it's going to be very useful for you in feature to understand these Concepts so I have created this video about a databases I would highly recommend you to check out this video and then finally once you have installed your database once you have understanding of all this relational database then it's time to basically really watch this SQL Basics tutorial video I have created this video which covers all of this basic SQL functionalities or concept that I just mentioned okay so in this video you will also see that I am using a data set and I have basically placed the script of this data set in my blog you'll find a link to that sample data set in my video so you can then use that data set to make your own practice right so other than this another resource that I would highly recommend is w3schools I'm sure most of you guys would have heard about this now this is a fantastic platform you can basically find the syntax to all of the different concepts that I just mentioned here okay so I would I also recommend you to check out this particular platform okay now once you have learned all of this basic concepts the next thing is you will need to practice writing SQL queries where you will be using all of these basic concepts right now in order to practice I would recommend these three platforms strata scratch lead code and data lemur now in each of these platforms you will find easy medium and hard problems now since you are only looking at basic concepts here I would only ask you to solve problems which are of easy difficulty level so go to stata scratch and just search for easy problems on SQL and you should be finding it and same way you will find easy problems on lead code and the same thing in data lemur as well okay so these are the three platforms where you can solve SQL queries choose the easy ones and probably you will be able to solve most of those problems if you are comfortable in these Concepts now let's see what are the jobs you can Target with basic SQL knowledge now basically I would say if you are looking for a business analyst role or a junior analyst role when I say junior analyst it might be any type of because there are so many different types of analysts right so any Junior analyst role I think the SQL the basic SQL should be more than enough and then also software Engineers maybe not senior software Engineers but a normal uh I think up to one to three years of software Engineers would probably need to use or write SQL queries or insert scripts or update scripts in order to connect to the database and I think basic knowledge of SQL should be enough for them okay so this is basically how you can learn basic SQL all the different resources and the platforms for practice okay now let's go back and look at what you need to do if you want to learn intermediate level of SQL okay now again I'm going to cover the concepts and then we'll look at the resources platforms and jobs okay maybe in this case first let's look at jobs so basically who should be learning intermediate SQL right especially if you're looking for a data analyst role or a data scientist role then I think just basic SQL will not be enough you would have to learn the intermediate level of SQL as well okay so when it comes to intermediate level of SQL mainly you will need to learn Group by and having Clause I know many of you would argue that group by and having Clause should have been part of the basic SQL but the thing is there are several complex queries that you can write using Group by and having class and that is why I didn't want to put that as part of basic but as part of intermediate you definitely need to know Group by and having Clause you also need to know how to use aggregate functions min max average sum and count okay and then you also need to know order of execution it's not like mandatory but by knowing order of execution you it will be very helpful for you when you are trying to understand uh already written query or sometimes when you're stuck order of execution is something that can help you to get unstuck okay so definitely you will need to know sub queries it's a very very important concept you will need to know CT table or with Clause you of course need to know all the different type of joints all the outer joints left join right join full order join you need to know cross join and more importantly you need to understand how a self join works right self join is very important you should definitely be comfortable with that and also you need to learn certain inbuilt functions now mainly you can learn certain string functions as well as date functions mainly functions where you will need to extract a month from a date or you need to reformat a date or you need to fetch a substring from a string or replace a null value with some other value so this other different types of inbuilt functions are present in every rdbms So based on whatever rdbms you are learning you will need to get a Hands-On with or remember very important inbuilt functions okay now I'm going to provide you a resource where it's a very good resource where you will find a list of all the inbuilt functions a lit in a short while okay and then finally a very important concept is a window function you should definitely learn window function without knowing window function I don't think so you will basically be able to survive as a data analyst or a data scientist okay now in window function there are a lot of window functions but the most important would be rank dense rank row number lead lag but also first value last value end value entail are also very much used okay now finally you also need to understand what are views and why are they used okay so these are all the different concepts that you will need to learn in order to get intermediate level in SQL now if you ask me what are the resources for learning all of these Concepts I basically have created tutorial videos on most of this account concept so for group by and having Clause I have not created a video but I would recommend you to check out a w3schools it's a fantastic platform as I mentioned earlier you have pretty good examples for group by and having Clause I think this should be more than enough for you to understand the concept but let's say you want me to make a tutorial video on Group by and having class then definitely mention that in the comments below maybe I can cover a tutorial video on this concept as well for order of execution there is a Blog that I found very interesting I'll leave the link to this book in fact I'll leave the link to all of these resources in the video description or in my blog okay so for sub queries I have created a fantastic tutorial on YouTube this is one of my most successful videos on this channel I know it is very good and all the concepts are very well explained so I would highly recommend you to check out this tutorial video with regards to with clause or city table again I have created a tutorial video on YouTube I would recommend you to check this video okay and and the best part is whatever scripts and data sets I'll be using to explain this tutorial I will leave a link to that script in my blog so you can download that script and practice it yourself okay just check the video description for all the details when it comes to joints I had created two videos part one and part two where I have covered all type of joints these are one of the best videos or resources you can find to learn joints I can guarantee you that so definitely check out these two videos to learn about joints when it comes to window functions again I have created two tutorial videos part one and part two again I have covered all the different window functions that are available in SQL in these two videos they are very good these are very successful videos I would highly recommend you to check that check them out when it comes to views again I have created a views a tutorial video where basically I have covered Concepts which you might have never used in views so definitely check out this tutorial video on views in my channel itself and finally when it comes to inbuilt functions I'm going to leave a link to a couple of blocks where basically you will find all the different inbuilt functions available in Oracle uh postal SQL SQL server and MySQL Okay so so both string and a date function so I would definitely recommend you to go into this blog in order to understand all the inbuilt functions okay and for practicing these Concepts I would recommend four platforms again stata scratch lead code and data Lemur in this case try to solve median level SQL problems okay and after that one additional resource I would recommend is the SQL case study from Danny data with Danny it's a fantastic platform here if you go you would basically find I think eight case studies and if I just open the first one you would basically see that case study is something like you have a scenario you need to understand the scenario you have sample tables and data given and then based on that scenario there are certain problems you will need to solve by writing SQL queries okay so these case studies are very useful you will kind of get an end-to-end picture of how you should be going about understanding a problem and then solving a problem I think these are the platforms that I would recommend for intermediate level of SQL and jobs I already mentioned if you're looking for a data analyst or data scientist then this is the intermediate level of SQL is what you should be learning now let's look at what you should be doing if you already have basic and intermediate level of SQL knowledge and now you want to basically get advanced level of SQL knowledge right in this case the jobs that you can Target by learning Advanced SQL is basically like a data engineer or an ATL developer right and the concepts that you would additionally need to learn are you need to understand a recursive SQL queries you need to understand pivot table or crosstab now pivot is something that is supported in MySQL I think not supported in MySQL but supported in Microsoft SQL server and in Oracle and crosstab is supported in postgresql kind of does the same thing but in postcode SQL you will need to use crosstab and in MySQL both of these are not supported you can perform the same thing using case okay and I'm going to mention a resource where you will basically learn all of that okay in a short time and you also need to learn materialize views you also need to learn stored procedures and of course you need to learn user defined functions okay so these are the Concepts you'll and additionally need to learn in order to get more advanced knowledge of SQL okay now for learning resources I would recommend my own tutorial videos so for recurs SQL queries I have created a fantastic tutorial video on YouTube you could definitely check this out for pivot table or for crosstab I have created this fantastic video where I have basically covered pivot crosstab and basically converting a rows to column in all these four major rdbms in this video I would definitely recommend you to check out this video for materialize we've again I have created a tutorial on YouTube uh which I would leave the link to in the description or in my blog so definitely check that out for stored procedure again I have created a fantastic tutorial video I would highly recommend you to check this out to get complete understanding of how to create and work with procedures in SQL okay and finally for user defined functions I have not created a tutorial video so I would recommend you to check out this blog that I will leave in the uh I'll leave the link in the description below now if you want me to make a tutorial video on user functions definitely let me know in the comments below so I can start working on that now when it comes to practice platforms again the platforms that I would recommend is status scratch lead code and data lemur here you use the hard level hard difficulty level problems and try to solve it okay and when it comes to a case study again I would choose the same case study data with Danny maybe in as part of intermediate level of SQL you didn't have to solve all the eight case studies maybe couple of them would be sufficient but when it comes to hard level of SQL you will I think it's better you solve all the eight case studies and again jobs that you can Target I have already mentioned here okay so now let's look at the last section that is how much SQL should you learn if you are targeting to become a database developer or SQL Developer first of all okay jobs you already know it's for database developer or SQL Developer the concepts that you will additionally need to learn are you need to know indexes right you need to know why indexes are useful basically how does it improve the performance of your query and you need to to know how to use the right index for your query right you should not be creating an index for every column but you should know how what is the right index you should create based on the query that you are frequently writing right you should then learn about triggers you should learn about temporary tables you should also know about how to dynamically execute an SQL statement right and then you should also know about PL SQL Concepts because as a database developer or an SQL Developer you would not only be writing SQL queries but you would also be writing certain procedural language maybe packages procedures user defined functions Etc and as part of that you should be knowing what are variables what are cursors what are collection types or arrays Loop statements if else statements exception handling and packages right and after all of this one very important thing that you will need to learn is Performance Tuning now when it comes to Performance Tuning you will mainly need to know what is explain plan how to basically read and explain plan you need to understand that you need to know how does stable statistics basically help in improving the performance you need to know about table partitioning and then finally these three concepts in dbms profiler SQL trace and TK Prof these are the concepts specific to Oracle but these are mainly used if you want to track the performance of your procedures or your SQL queries and I'm sure there are alternate ways to this in other rdbms as well but it's always good to know these Concepts okay and as part of learning resources for indexes now I have not created a tutorial video on any of these Concepts but I have found some very useful resources online so I'm going to mention that for indexes I have this blog which I found I'll leave that and similarly for triggers as well as for temporary tables Dynamic execution of SQL statements a PL SQL Concepts and performance tuning for all the different Performance Tuning there are blocks that I have found where they have explained this concept very clearly so I am going to leave the link to these resources in the video description okay now unfortunately I do not have a practice platform where you can practice these Concepts I'm not aware of any such platforms where you can practice PL SQL or Performance Tuning so in case in future if I find I might add it or I might create my own a platform where you will be able to practice this okay so I think that's all for this video this is a complete roadmap on whatever you want to learn SQL for like for for data analyst or a junior role or a software engineer or for a data engineer or for a database developer this is everything that you will need to learn okay I hope this video was helpful you learned something from this you come you came to know all the different concepts that are available in SQL and all the different resources that you can use to learn this Concepts so if you like this video please make sure to give me a thumbs up leave your feedback in the comments below thank you so much for watching and see you soon in the next one bye