Correct Answer: A,B,D
About the roles and behavior of subqueries in SQL:
* A. A subquery can be used in a WHERE clause: Subqueries are often used in WHERE clauses to filter rows based on a condition evaluated against a set of returned values.
* B. A subquery can be used in a HAVING clause: Similar to WHERE, subqueries can be used in HAVING clauses to filter groups based on aggregate conditions.
* D. <ANY returns true if the argument is less than the highest value returned by the subquery: The <ANY (or <SOME) operator compares a value to each value returned by a subquery and returns true if the comparison is true for any one of the returned values.
Incorrect options:
* C: =ANY evaluates true if the argument matches any single value returned by the subquery, irrespective of the number of values.
* E: A subquery can indeed be used in a FROM clause, known as a derived table or inline view.
* F: <ANY returns true if the argument is less than any of the values returned by the subquery, not necessarily the lowest.
* G: A subquery can be used in a SELECT list, particularly when the subquery is designed to return a single value (scalar subquery).