17 Stimmen

Warum den Operator BETWEEN verwenden, wenn es auch ohne ihn geht?

Wie aus den beiden Abfragen hervorgeht, funktionieren beide gut. Dann bin ich verwirrt, warum wir überhaupt BETWEEN verwenden sollten, denn ich habe festgestellt, dass BETWEEN sich in verschiedenen Datenbanken unterschiedlich verhält, wie man in w3schule

SELECT *
FROM employees
WHERE salary BETWEEN 5000 AND 15000;

SELECT *
FROM employees
WHERE salary >= 5000
AND salary <= 15000;

-1voto

Marcelo Cantos Punkte 173498

Bei SQL stimme ich zu, dass BETWEEN ist größtenteils unnötig und kann syntaktisch nachgebildet werden mit 5000 <= salary AND salary <= 15000 . Sie ist auch begrenzt; ich möchte oft eine einschließende untere Grenze und eine ausschließende obere Grenze anwenden: @start <= when AND when < @end was Sie nicht tun können mit BETWEEN .

OTOH, BETWEEN ist praktisch, wenn der zu testende Wert das Ergebnis eines komplexen Ausdrucks ist.

Es wäre schön, wenn SQL und andere Sprachen dem Beispiel von Python bei der Verwendung einer korrekten mathematischen Notation folgen würden: 5000 <= salary <= 15000 .

Ein kleiner Tipp, der Ihren Code besser lesbar macht: Verwenden Sie < und <= anstelle von > und >=.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X