Intermediate SQL Programming
CSE-40948
Intermediate SQL Programming builds on foundational SQL skills
to deepen your expertise in SQL database programming, relational database management, and advanced query optimization. In this course, you will develop practical SQL scripting techniques that improve query performance, code reusability, advanced data reporting, and data integrity. Key topics include view and stored procedure creation, transaction management, sub queries and Common Table Expressions (CTEs), data pivoting, triggers, random data generation, and advanced JOIN strategies—all essential for writing efficient, scalable SQL code in real-world environments.
Why This Course Matters for SQL Database Programming
In today’s data-driven landscape, SQL database programming skills are critical for transforming raw data into meaningful insights. Organizations rely on professionals who can write optimized queries, automate database processes, and ensure data accuracy across systems. This course focuses on the practical importance of SQL in handling large-scale datasets, building reliable reporting systems, and improving query performance, making it highly relevant for modern database-driven roles. Whether working with customer data, financial systems, or operational databases, mastering intermediate SQL techniques enables you to deliver fast, accurate, and actionable data solutions.
This course emphasizes hands-on, real-world application. Students will set up and work within their own database environment, gaining confidence in querying database objects, optimizing SQL scripts, and generating reports that directly support business decision-making.
AI is now a built-in component of SQL Server Management Studio, and is available for students to use in this course. While AI can assist with writing and trouble-shooting SQL, the scope of our SQL program is to teach students how to write code independently.
Designed for learners who have completed an introductory SQL course, this program is ideal for data analysts, report writers, developers, IT professionals, and aspiring database specialists looking to strengthen their SQL querying and database programming expertise in a professional setting.
Course Highlights:
- Create new tables and databases using CREATE, ALTER, and DROP statements
- Build reusable code in views, stored procedures and user defined functions
- Set up transactions that allow you to view the change results to a table before committing and roll back the changes if necessary
- Write sub queries and common table expressions (CTEs), which can improve query readability and efficiency
- Build tables triggers which automatically execute additional code when new records are entered, changed or deleted
- Learn the use of the OUTPUT when making updates to table data
- Use of Window Functions to perform in line aggregations and row counts
- Adding Randomization to your queries
- Pivoting and unpivoting data sets
- Uses of CROSS APPLY and OUTER APPLY when querying data with different granularities
- Using AI to assist with SQL script development
Course Learning Outcomes:
- Build database tables, define column data types, and insert, update, and delete table rows
- Construct build views, stored procedures, and user function objects that make SQL scripts reusable
- View transactions before they are committed to the database and roll back as needed
- Script query compartmentalizing techniques that improve readability and efficiency
- Develop scripts that trigger other scripts when changes to a table are made
- Use pivoting techniques to increase the flexibility and usability of reporting data output
- Write line-level data set aggregations and counts
- Apply randomization tools to SQL scripts
Course typically offered: Quarterly, online (asynchronous).
Prerequisites: CSE-40933 - Introduction to SQL Programming or equivalent knowledge and experience.
Software: This course will use Microsoft SQL Server and Microsoft SQL Server Management Studio (SSMS). SQL Server will run natively on Windows and Linux. You can also run a SQL Server container image with Docker.
Next Steps: Upon completion of this course, consider taking other courses in the Database Management or Business Intelligence Analysis certificate programs to continue learning.
For more information: about this course, please email unextechdata@ucsd.edu.
Course Information
Course sessions
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
No textbook required.
Policies:
- No refunds after: 3/30/2026
Schedule:
Instructor:
Eric Williamson, B.A., MCP
Data Manager UC San Diego Health
Eric Williamson is a Data Architect at UC San Diego Health. He specializes in Microsoft SQL Server and SharePoint. Williamson has been working with and developing in those technologies for 20+ years. He has been an instructor with Extended Studies since 2013, developing, managing and teaching SQL Server courses. Eric has held Microsoft Certified Professional (MCP) status since 2000.
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
No textbook required.
Policies:
- No refunds after: 6/29/2026
Schedule:
Instructor:
Eric Williamson, B.A., MCP
Data Manager UC San Diego Health
Eric Williamson is a Data Architect at UC San Diego Health. He specializes in Microsoft SQL Server and SharePoint. Williamson has been working with and developing in those technologies for 20+ years. He has been an instructor with Extended Studies since 2013, developing, managing and teaching SQL Server courses. Eric has held Microsoft Certified Professional (MCP) status since 2000.