Learning SQL: Generate, Manipulate, and Retrieve Data