Summary
This workshop is a gentle, fast paced introduction to SQL. Our objective is to build a strong foundation and intuition, with an emphasis on retrieving and transforming data without making mistakes or suffering immensely. SQL skills are in very high demand, as a core skill for data scientists. Learning SQL will also help you think logically about the structure of data sets. The workshop is online, with plenty of interactivity and opportunities for one-on-one support from the instructor, who has a deep love-hate relationship with SQL, and is passionate about making it easier and more fun for everyone. It comes with a big detailed textbook, with lots of practice exercises. After the workshop, you're invited to contact the instructor for follow up questions, as you continue practicing.
This course is suitable for beginners, with no prior programming experience. However, for those with a thirst for adrenaline, parts of it will prove challenging, even for experienced non-SQL programmers. For those experienced programmers, there is around two extra days worth of more advanced material for you to burn through in your own time.
Everyone will have the opportunity to learn two different ‘flavours’ of SQL: the (free) open source MySQL, and/or Microsoft's proprietary T-SQL. All of the fundamentals, which are core SQL standards, are transferable to all other flavours of SQL, such as PostgreSQL, Oracle SQL Live, SQLite, and so on.
Attendance is capped at 25 people. SSA members and non-member students are given a 50% discount, while student members receive an 80% discount (limited to the first 10 student members).
SSA Vic members may also be eligible for up to $150 funding from Vic Branch to attend this workshop (see funding application form here: https://forms.gle/kQTk1zGfszZbv5p47).
Daily overview
Day 1 starts with a short introduction to database technologies, covering the basic structure of a database and the usefulness of the SQL relational database model in general. We learn about SQL tables, relationships between tables, and primary/foreign key pairs. We then connect to a local or remote SQL database, and dive into coding, beginning with easy examples and the most useful data manipulation queries. After a break, we learn more of the fundamentals: search conditions, subqueries, and joining tables. The day ends with many exercises for practice and revision.
Day 2. Have you heard this old adage? "Give a person a fish, and they eat for a day, but teach them to fish, and they eat for a lifetime". We start by learning how to read and interpret SQL documentation, so you can fish for a lifetime. Then, we learn all about filtering and aggregating on grouped data, as well as applying useful built-in functions. The queries we can write become increasingly complex, so it's time to learn some skills for iterative development: we will use the SQL data definition language to create our own test tables, allowing us to design our own databases, and to use them to test complicated queries. The day ends with many more exercises, that build on and extend what we've learned.
The course textbook
The course notes are about 100 pages long, with detailed execution diagrams and visual aids. They will serve as a great reference during and after the course.
Daily timetable
Both sessions (days) start at 9am and finish at 5 pm.
- Lecture 1: 9:00am – 10:30am
- Short break: 10:30am - 11:00am
- Lecture 2: 11:00am – 12:30pm
- Lunch: 12:30pm – 1:30pm
- Hands-on: 1:30pm – 3:00pm (guided walk-through exercises)
- Hands-on: 3:00pm – 5:00pm (one-on-one help sessions)
-
Instructor bio
Daniel Fryer wrote the first edition of this workshop for the New Zealand Social Statistics Network, University of Auckland, and has delivered the workshop for the past three years. He’s a Sessional Lecturer and Associate Fellow of the Higher Education Academy, at La Trobe University. He teaches meta-analysis and database design / SQL to Master’s students, in computer science, statistics and data science. He is also a casual Data Scientist at the Social Research Centre, technical sub-editor for the ANZ Journal of Statistics, and executive privacy officer for the Statistical Society of Australia, where he built and manages the society’s longitudinal member database, CHARLIE. He is also father of a cheeky toddler named Charlie, and lives in sunny Far North Melbourne. He is working on his PhD, applying coalitional game theory in machine learning, at the University of Queensland, where he received the UQ Future Superstars Award for outstanding contributions in communication, research and leadership.