In the previous chapters, we saw different ways to express a query. We looked at the process approach, which describes how tables and data could be manipulated to produce the required result. These queries are expressed using keywords describing operations such as INNER JOIN and INTERSECTION. We also looked at how to express queries in terms of the outcome approach, which describes the criteria that the resulting data must satisfy rather than the process for retrieving the result.
However, sometimes when I am presented with a complicated natural language description of ...