Types of Data Manipulation Languages,”High Level/Set-at-a-time: Can be used on its own to concisely specify database operationsLow Level/Record-at-a-time: Must be embedded in a general-purpose programming language
since it needs programming constructs (e.g. looping) to retrieve data”