Assuming we have two tables:
contacts
table having columns:id
andname
conversations
table having columns:id
andcontact_id
(FK tocontacts.id
)
The following two queries return the same data:
- dot notation:
SELECT contacts.name, contacts.id, conversations.id FROM contacts INNER JOIN conversations ON contacts.id = conversations.contact_id;
and
- functional notation:
SELECT contacts.name, contacts.id, conversations.id FROM contacts INNER JOIN conversations ON id(contacts) = contact_id(conversations);
For a purely theoretical reason, I want to learn more about the second (more functional) version. What is this syntax called and where can I learn more? Is this syntax in the SQL standard or just PostgreSQL? Is it performant? Why is it not used more widely?