8
votes

Priorité de et ou ou opérateur dans la requête SELECT MYSQL

J'ai un écrit A MYSQL SELECT QUERY Pour récupérer les détails de planification en fonction des états d'origine, de la ville d'origine, de la destination et de la ville de destination. Dans ma requête, j'ai utilisé et et ou ou .

voici ma requête, xxx

mais je Besoin de connaître la priorité de et ou de l'opérateur dans la requête ci-dessus, je veux dire que cela fera-t-il quelque chose comme ce (x et y) ou (m et q) interne? < / p>


2 commentaires

Et pourquoi n'utilisez-vous pas simplement les crochets? Vous pouvez utiliser des crochets dans SQL!


Un forum n'est pas un moyen d'éviter d'utiliser Documentation .


3 Réponses :


8
votes

Oui, et a une priorité supérieure à celle ou. X et Y sont liés ensemble, m et q sont liés ensemble, puis les expressions résultantes sont orées.


6 commentaires

Donc, je n'ai pas besoin d'ajouter un support supplémentaire dans ma requête ?. Je veux dire maintenant c'est comme ça x et y ou m et q, si j'adresse des supports, ce sera comme ça (x et y) ou (m et q).


Les crochets aideront probablement la lisibilité, mais cela fonctionnera bien sans eux.


Cela est impliqué par cette réponse. Vous n'avez pas besoin de continuer à poser la même question.


@Samdufel merci pour votre réponse et votre patience pour expliquer les choses.


@EJP Il n'y a rien de mal à demander si vous n'êtes pas assez clair.


Il est difficile de voir quelle partie de «oui» vous n'avez pas compris, ni quelle partie de la «préconcience supérieure» non plus.



1
votes

et a une priorité plus élevée que ou dans chaque langage de programmation que j'ai jamais vu et j'ai vu plusieurs douzaines à proximité, et j'ai mis en œuvre quelques-uns moi-même. Cette question a été essentiellement réglée en 1960 avec le rapport Algol-60, sinon déjà à Fortran (1957).

[Il y avait une exception près, mais c'était une langue mal impliquée sans précédence de l'opérateur. J'ai réparé ça.]


3 commentaires

+1 pour la règle du pouce.


@downvoter une erreur ci-dessus?


@downvoter sérieusement, quelle est l'erreur ici? Et n'est pas une priorité plus élevée que ou? Je n'ai pas vu plusieurs douzaines de langues? Je n'ai pas mis en œuvre peu de moi-même? ( assez quelques-uns.) Quel est le problème ici?



1
votes

Oui, il fera quelque chose comme (x et y) ou (m et q) . et priorité de l'opérateur est supérieur à ou .

Pour plus, voir MySQL: Prédication de l'opérateur < / p>


0 commentaires