Hey Experts,
My knowledge of SQl is limited to writing code to pull tables aliasing them, joining tables and using subqueries along the way. Any other question on the forum that goes above my head. So I am thinking to restart, bear with me,
To start with, I am confused with SQL, T-SQL, SQL server not even talking about other types like postgress etc but I never understand when to use what and what to learn? Is there a basic book or material which explains this stuff? I have another question for which, I joined this forum but I wanted to get this off my chest for help.
I tried courses in Dataquest, Udemy and everyone starts and ends with what I know, but that is not helping me understand the solutions in any forum I want to read to understand, which made me give up years ago. Sorry to ask this but I need some guidance. Help is appreciated. Regards
SQL is the programming language used by most database vendors such as Microsoft SQL, MySQL, Oracle etc. The standard language is defined by ANSI. I believe SQL 2019 is the latest standard (but I stand corrected if I am wrong).
T-SQL is the implementation of the SQL programming language by Microsoft. It does not implement all the features of any specific version of the standard, and it adds some of its own features.
Some of the books I like for T-SQL are books by Itzik Ben-Gan and Robert Vieira. Vieira's books are somewhat dated, but I still like them. Ben-Gan's books are thorough and very well put together.
Hi @JamesK Thank you for the response. I will google further on this so when I pick up a book to practice to become pro, Do I learn Postgres / SQL /PL-SQL or T-SQL or SQL server? which is the best way to learn.
I used to have MY SQL server installed it has eaten 350 gb and I am not sure why? Is there a virtual server / AWS instance where I can use the system to install and practice beyond simple Select / and sub queries?
Many Thanks & Regards
As to which variant of SQL you should learn, it would depend on what environment you plan to use your skills in. I have only experience with Microsoft SQL Server, so I am using T-SQL.
A lot of the value you add as SQL programmer is in your ability to optimize your designs and your queries for the specific environment. So in my opinion, while it is okay to learn standard ANSI SQL for the syntax and constructs, it is just as or more important to learn the specifics of your chosen environment.
There used to be a contributor on this forum, a real expert who has written a few well-regarded books on SQL, who insisted that everyone use ANSI SQL, for portability and other reasons. I don't subscribe to that view, mainly because I get paid to write queries that are less resource intensive, and work efficiently on the Microsoft platform.
350 GB for a simple SQL Server does not seem right. You can sign up for personal Azure account and use Azure SQL (Microsoft's cloud database), or install Express edition of SQL Server locally on your computer.
I think you should not care about Microsoft / Oracle / MySQL. When you have learned one you can easily understand the other. All systems have there pro and cons and most of the time the business is making the descision for you.
On Youtube you can find Brent Ozar with a serie called How to Think Like the Engine, I think you will like it. It's beyond the select / insert / update and explains what the engine is doing.