The Structured Query Language (SQL) is a widely taught database query language in computer science, data science, and software engineering programs. While highly expressive, SQL is challenging to learn for novices. Various research has explored the errors and mistakes that SQL users make. Specific attributes of SQL code, such as the number of tables and the degree of nesting, have been found to impact its understandability and maintainability. Furthermore, prior studies have shown that novices have significant issues using SQL correctly, due to factors such as expressive ease, existing knowledge and misconceptions, and the impact of cognitive load. In this paper we identify another factor: self-inflicted query complexity, where users hinder their own problem solving process. We analyse 8K intermediate and final student attempts to six SQL exer-cises, approaching complexity from four perspective: correctness, execution order, edit distance and query intricacy. Through our analyses, we find that our students are hindered in their query formulation process by mismanaging complexity through writing overly elaborate queries containing unnecessary elements, overusing brackets and nesting, and incrementally building queries with persistent errors.
|Title of host publication||2022 IEEE/ACM 30th International Conference on Program Comprehension (ICPC)|
|Number of pages||11|
|Publication status||Published - 2022|
|Event||International Conference on Program Comprehension (2022) - Pittsburgh, United States|
Duration: 16 May 2022 → 17 May 2022
|Conference||International Conference on Program Comprehension (2022)|
|Period||16/05/22 → 17/05/22|