« MySQL/Opérateurs » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
Mieux vaut présenter les opérateurs avant leur ordre |
||
Ligne 2 :
MySQL propose plus que les standards des opérateurs SQL. Ils peuvent être utilisés pour rédiger des expressions contenant des constantes, variables, valeurs contenues dans des champs ou autres expressions.
== Précédence ==▼
=== Précédence des opérateurs ===▼
Du plus au moins prioritaire :▼
<source lang=sql>▼
INTERVAL▼
BINARY, COLLATE▼
!▼
-, ~▼
^▼
*, /, DIV, %, MOD▼
-, +▼
<<, >>▼
&▼
|▼
=, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN▼
BETWEEN, CASE, WHEN, THEN, ELSE▼
NOT▼
&&, AND▼
XOR▼
||, OR▼
:=▼
</source>▼
Modificateurs :▼
* ''PIPES_AS_CONCAT'' : si activé, || est prioritaire sur ^, mais - et ~ le reste sur ||.▼
* ''HIGH_NOT_PRECEDENCE'' : si activé, <code>NOT</code> est au niveau de !.▼
=== Utilisation des parenthèses ===▼
Tout comme en mathématiques, les parenthèses permettent d'évaluer des sous-expressions avant d'autres :▼
<source lang=sql>▼
SELECT 1 + 1 * 5 -- = 6▼
SELECT (1 + 1) * 5 -- = 10▼
</source>▼
Cela peut aussi se faire pour rendre les requêtes plus lisibles aux humains :▼
<source lang=sql>▼
SELECT 1 + (2 * 5)▼
</source>▼
== Opérateurs d'assignation ==
Ligne 410 ⟶ 371 :
<source lang=sql>
SELECT 1 >> 2 -- 0
▲</source>
== Conditions ==
La structure <code>IF ... THEN ... ELSE ... END IF;</code> ne fonctionne que dans les procédures stockées. Pour gérer une condition en dehors d'elles, on peut utiliser<ref>http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html</ref> :
# <code>IF(condition, siVraie, siFausse);</code>
# <code>SELECT CASE WHEN condition THEN siVraie ELSE siFausse END;</code>
▲== Précédence ==
▲=== Précédence des opérateurs ===
▲Du plus au moins prioritaire :
▲<source lang=sql>
▲ INTERVAL
▲ BINARY, COLLATE
▲ !
▲ -, ~
▲ ^
▲ *, /, DIV, %, MOD
▲ -, +
▲ <<, >>
▲ &
▲ |
▲ =, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
▲ BETWEEN, CASE, WHEN, THEN, ELSE
▲ NOT
▲ &&, AND
▲ XOR
▲ ||, OR
▲ :=
▲</source>
▲Modificateurs :
▲* ''PIPES_AS_CONCAT'' : si activé, || est prioritaire sur ^, mais - et ~ le reste sur ||.
▲* ''HIGH_NOT_PRECEDENCE'' : si activé, <code>NOT</code> est au niveau de !.
▲=== Utilisation des parenthèses ===
▲Tout comme en mathématiques, les parenthèses permettent d'évaluer des sous-expressions avant d'autres :
▲<source lang=sql>
▲ SELECT 1 + 1 * 5 -- = 6
▲ SELECT (1 + 1) * 5 -- = 10
▲</source>
▲Cela peut aussi se faire pour rendre les requêtes plus lisibles aux humains :
▲<source lang=sql>
▲ SELECT 1 + (2 * 5)
</source>
|