Lesbarkeit von EXISTS-Unterabfragen
Bei der Verwendung von EXISTS-Unterabfragen gibt es zwei Hauptoptionen:
SELECT foo FROM bar WHERE EXISTS (SELECT * FROM baz WHERE baz.id = bar.id); SELECT foo FROM bar WHERE EXISTS (SELECT 1 FROM baz WHERE baz.id = bar.id);
Von a Aus Sicht der Leistung sind beide gleichwertig. Es stellt sich jedoch die Frage nach der Lesbarkeit.
Handbücher und allgemeine Verwendung
Laut den Untersuchungen zu verschiedenen RDBMS-Handbüchern und Online-Suchen scheint es eine Kluft zu geben:
Die Stack Overflow-Suchergebnisse weisen auf eine etwas höhere Prävalenz von SELECT * in hin Code.
Intuitiv Ansatz
Die Frage stellt sich, ob SELECT * intuitiver ist. Die Antwort deutet jedoch darauf hin, dass dies nicht die intuitivste Wahl ist. Stattdessen wird SELECT 1 empfohlen, weil:
Schlussfolgerung
Obwohl es keinen klaren Konsens gibt, wird argumentiert, dass SELECT 1 in EXISTS-Unterabfragen intuitiver ist. Es betont den Existenzaspekt, orientiert sich an Standards und räumt mit Missverständnissen auf. Letztendlich kann die bevorzugte Lesbarkeit je nach Verständnis und Stil des Entwicklers variieren.
Das obige ist der detaillierte Inhalt vonEXISTS-Unterabfragen: SELECT * oder SELECT 1 – Was ist besser lesbar?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!