sql >> Databasteknik >  >> RDS >> PostgreSQL

Att blanda explicita och implicita kopplingar misslyckas med Det finns en post för tabell ... men den kan inte refereras från den här delen av frågan

SQL-specifikationen anger att explicita kopplingar utförs före implicita kopplingar. Detta är en implicit koppling:

FROM table1 t1, table2 t2 WHERE t1.id=t2.t1id

Detta är en explicit anslutning:

FROM table1 t1 JOIN table2 t2 ON (t1.id=t2.t1id)

Denna kodbit:

categories c 
     LEFT JOIN photos p 
        ON p.referencekey = i.key 

är en explicit koppling och körs först. Observera att tabellen vid det här laget har alias eftersom jag inte har setts på ännu, så den kan inte anslutas ännu. Observera att MySQL fixade detta beteende i 5.2 tror jag, och den här frågan kommer inte längre att fungera där heller.



  1. PostgreSQL vs. Oracle:skillnad i kostnader, användarvänlighet och funktionalitet

  2. MariaDB JSON_SET() Förklarad

  3. Hur ansluter du till en LDAP-server med node-oracledb?

  4. Vikten av underhåll på MSDB