On va sucrer un petit peu notre Transact-SQL dans SQL Server.

Les sucres de syntaxe sont des raccourcis dans un langage de programmation pour nous simplifier la vie. Notamment les syntaxes Transact-SQL BETWEEN et IN.

Le BETWEEN fonctionne en ayant le début et la fin dans le bon ordre, on ne peut pas inverser, ça ne marchera pas, parce que c’est un sucre de syntaxe. Si vous regardez le plan d’exécution, et si vous cherchez le prédicat, vous allez voir que c’est réécrit avec un plus grand ou égal et plus petit ou égal, ce qui fait que le BETWEEN n’existe pas à la fin dans l’exécution, et donc c’est pour ça que vous devez mettre le début et la fin dans le bon ordre. Si vous inversez, plus grand que M et à la fois plus petit que A, par exemple, ça n’existe pas, et vous n’aurez rien.

Deuxième sucre de syntaxe, le IN. Le IN vous évite de faire des OR, mais en fait, derrière, SQL réécrit également la clause WHERE avec des OR.

Astuces et tutoriels SQL Server en français, pour SQL Server 2017, SQL Server 2016, et toutes versions.
Par Rudi Bruchez
https://www.linkedin.com/in/rudibruchez/
http://www.pachadata.com