A complete course in SQL with SQL server
What you'll learn
- Setup SQL Server and use SQL Server management studio (SSMS) and azure data studio to write queries.
- Setup an Azure cloud instance of SQL Server.
- Select, sort and filter data with an understanding of the order of precedence.
- Modify data with string, date, and maths functions.
- Convert data types and apply decision logic.
- Aggregate and group data both to the entire table and in line with windows functions.
- Facilitate more complex requirements with sub-queries.
- Structure of table relationships and cardinality.
- Join tables together with the INNER, OUTER, FULL and CROSS joins.
- Union multiple data sets together.
- Understand OLTP and OLAP data architectures along with 3rd Normal Form and ACID transactions.
- CREATE, ALTER, and DROP a database, table, and schema.
- Add column, primary and foreign key constraints to a table.
- Indexes for use in query optimisation.
- Insert, update, and delete data into a table.
- Advanced features including views, stored procedures, functions, locks, transactions, cursors, and triggers.
- Import, export and alter JSON and XML data structures into and out of tables.
Requirements
- The course assumes no pre-existing knowledge and will take you through each step. For those who already have some coding or SQL experience, your knowledge will be expanded, and you will obtain a more in-depth understanding of SQL development and database concepts.
Description
The course will teach how to interact with relational databases by witting SQL within SQL server. Broader concepts are also covered such as data architecture and converting tables to JSON which is useful for many web applications and API's. It starts at a novice level and then progresses through to an expert skill level. There is a fast-track route for those that need to get up to speed quickly. This enables students with time pressure, to learn SQL to a good standard and come back later when time allows to cover the full content.
Each topic taught is structured so that it covers the theory and then provides worked examples that you are encouraged to follow along with. In the later stages of the course, a mini project is created that enables the advanced features of SQL to be explored. Within this section, practical problems are demonstrated that you are likely to find in the real world.
Advanced topics such as indexes and transactions are covered in detail to help you understand areas useful in the real world such as query optimisation and complying with ACID principles. From my 15 years of experience in database development work and training colleagues, I have picked out all the topics that will enable you to become an expert SQL developer.
The course is structured to accommodate a variety of backgrounds from the complete novice with no programming experience to those who are experienced in other languages and already have some knowledge of SQL. Those with more experience will progress through the initial sections more quickly but still acquire new development knowledge. They will also appreciate the depth of the later sections. The complete novice will appreciate the clear instructions and no presumption of prior knowledge.
Who this course is for:
- This course is for anyone who works with data. You may be a BI developer, data engineer, data analyst, data scientist, web developer, computer programmer, student, or work in a non-technical area such as finance but you need to extract and manipulate data from a database. The course will develop those with some or no knowledge into SQL experts.
Instructor
Robert is a consultant that provides expertise in computational physics, data engineering and data science. He has a bachelor’s degree in computing, a second bachelor’s degree in physics and MSc in physics. He has worked with data for the past 15 years and within physics environments for the last three years. Robert’s work has been used within the nuclear, and space sectors and he has led many commercial projects in industries including finance, private equity, insurance, and large-scale infrastructure projects.
He has managed several teams consisting of data engineers, computer programmers and physicists. Robert has extensive knowledge and experience in many programming languages including C#, C++, Fortran, SQL, JavaScript and Python. He is an expert within the platforms: SQL server, Cosmos, Synapse, Mongo DB and Databricks. He also has substantial knowledge of software design and data architecture.
On the physics side, he has specialist knowledge of Bose-Einstein condensate quantum simulators and quantum dot photovoltaics. He also has interests in applied mathematics and laser-driven X-ray sources.
Robert loves teaching students, colleagues, and anyone who desires to learn.