If I have an expression like
SELECT t.json_column->>'x',
   nested->>'y'
FROM my_table t,
   json_array_elements(t->'nested') nested
Why don't I need a JOIN?  More precisely, why does this not act like a Cartesian CROSS JOIN?
It looks like a join happens implicitly by referencing the table alias t in the json_array_elements call.  But the implicit-join syntax with a table function is unfamiliar to me.  
Are there other examples of similar SQL syntax in PostgreSQL or other databases?
 
    