Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Explizite JOINs vs. implizite Joins?

Ihr Professor sollte mit Gordon Linoff sprechen, einem Informatikprofessor an der Columbia University. Gordon und die meisten SQL-Enthusiasten auf dieser Site werden Ihnen fast immer sagen, dass Sie explizite Join-Syntax verwenden sollen. Dafür gibt es viele Gründe, einschließlich (aber nicht beschränkt auf):

  • Explizite Verknüpfungen machen es einfach, die tatsächliche Verknüpfungslogik zu erkennen. Implizite Joins hingegen verschleiern die Join-Logik, indem sie sie sowohl über FROM verteilen und WHERE Klauseln.
  • Der ANSI 92-Standard empfiehlt die Verwendung moderner expliziter Verknüpfungen und hat die implizite Verknüpfung, die Ihr Professor zu fördern scheint, tatsächlich abgelehnt.

In Bezug auf die Leistung würden, soweit ich weiß, beide Versionen der von Ihnen geschriebenen Abfrage unter der Haube auf dasselbe optimiert. Sie können jederzeit die Ausführungspläne von beiden überprüfen, aber ich bezweifle, dass Sie sehr oft einen signifikanten Unterschied feststellen würden.