Pivot Table
MySQL has no PIVOT keyword. You fake a pivot with SUM(CASE WHEN subject='Maths' THEN score END) AS maths, … GROUP BY roll. That turns rows into columns.
Fine for a few known subjects. Pain if subjects grow every week — keep a normalised marks table and pivot in the app.
Trap — inventing PIVOT syntax from SQL Server in a MySQL viva.
On the example next to this theory: Pivot Table: create two demo rows, then SELECT qty >= 2 ordered. Say which labels come back.
Exam tip
SUM(CASE WHEN subject='Maths' THEN score END) GROUP BY roll.