sql >> Database teknologi >  >> RDS >> Oracle

Eksplicitte JOINs vs implicitte joinforbindelser?

Din professor bør tale med Gordon Linoff, som er professor i datalogi ved Columbia University. Gordon, og de fleste SQL-entusiaster på dette websted, vil næsten altid fortælle dig, at du skal bruge eksplicit joinsyntaks. Årsagerne til dette er mange, herunder (men ikke begrænset til):

  • Eksplicitte joinforbindelser gør det nemt at se, hvad den faktiske joinlogik er. Implicitte joinforbindelser slører på den anden side joinlogikken ved at sprede den ud over både FROM og WHERE klausuler.
  • ANSI 92-standarden anbefaler at bruge moderne eksplicitte joinforbindelser, og faktisk forældede den implicitte joinforbindelse, som din professor ser ud til at skubbe

Med hensyn til ydeevne, så vidt jeg ved, ville begge versioner af den forespørgsel, du skrev, være optimeret til det samme under motorhjelmen. Du kan altid tjekke udførelsesplanerne for begge, men jeg tvivler på, at du vil se en væsentlig forskel meget ofte.



  1. PostgreSQL:Giv alle tilladelser til en bruger på en PostgreSQL-database

  2. Simulering af MySQL's ORDER BY FIELD() i Postgresql

  3. Sådan ændres bruger til superbruger i PostgreSQL

  4. Få ugedag i SQL Server 2005/2008