I am trying to find the right description for the parts of a query:

  1. What is the name of the part between SELECT and FROM? If I only had some columns then I would call it "column identifiers". But if there are any function or subqueries this would be quite a bit more. Is "SELECT clause" a valid description?
  2. Same thing for the FROM part. If I have only one table I would simply call it "table". But if there is a more complicated structure maybe using joins, etc. what would be the correct naming?

To make my questions more clear:

In Postgres I could use a JSON function, e.g. json_array_elements in both parts:


or doing this

    json_array_elements(my_json_column) AS elem

If I have to tell somebody that this function can be used within the SELECT clause or as part of the FROM clause which terms are more conventional?


It's usually called a "select list", which contains "select list items".

The FROM clause contains a list of table references.

This is not specific to Postgres, by the way.

So, with respect to your use case you might say that json_array_elements() can be used both as an expression in the select list and as a table reference.

| improve this answer | |
  • OK, sounds legit. How would you call the same for the FROM clause? Maybe if you would have to say something like: "You can use the function inside the FROM clause as part of a join..." or something like that? (see part 2 of my question :) ) – S-Man Mar 6 '19 at 17:14
  • 2
    @S-Man: I usually use "from list" for that – a_horse_with_no_name Mar 6 '19 at 17:24
  • 1
    "FROM list" here, too. – Erwin Brandstetter Mar 6 '19 at 19:06
  • Thank you to all! – S-Man Mar 6 '19 at 20:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.