mysql et de requête ou de l'ensemble
Comment puis-je exécuter mysql et de requête ou de l'ensemble instantanée de la requête distincte.
par exemple:
Et requête:
select * form tablename where name='A' and password="A" and id='A';
Ou la requête:
select * form tablename where name='A' or password="A" or id='A';
-Ce sont 2 différentes requête,puis-je faire ces requêtes ensemble?quelle est la syntaxe??
Les requêtes sont les mêmes. confus
OriginalL'auteur mriganka3 | 2010-07-13
Vous devez vous connecter pour publier un commentaire.
Utiliser des parenthèses pour grouper les conditions?
SELECT * FROM table WHERE (X and Y or Z) AND (P and Q or F)
OriginalL'auteur Borealid
Bien, il vous suffit de l'union, mais, puisque l'un est un sous-ensemble de l'autre, il n'est pas strictement nécessaire:
Qui va vous donner exactement les mêmes résultats que si vous il suffit de lancer la deuxième requête sur son propre. Qui a du sens, une fois que vous vous rendez compte que chaque ligne de la première requête a un
name
égal à'A'
, si elle correspond à la première partie de lawhere
clause de la deuxième requête.Si vous souhaitez dupliquer les lignes pour ceux qui sont retournés dans les deux requêtes, il suffit d'utiliser
union all
au lieu deunion
.Si vous avez été en utilisant
'A'
simplement comme un espace réservé et ses valeurs sont différentes dans les deux requêtes, alors vous avez deux approches. Utilisez une construction comme:ou utiliser le
union
solution que j'ai donné ci-dessus, quelque chose comme:(utiliser
union all
lorsque vous savoir il n'y a pas de possibilité de doublons entre les deux requêtes, - il vous permettra d'économiser le SGBD le trouble de la suppression inexistante doublons - ce n'est pas le cas avec ces requêtes).La
union
peut donner de meilleures performances sur un SGBD peut ruche les deux choisit plus facilement à séparer les moteurs de requête (quelque chose qui serait plus difficile avec une seule requête avec un complexe clause where). Bien sûr, comme toutes les optimisations, de mesurer, de ne pas le deviner.OriginalL'auteur paxdiablo
Il n'est pas clair ce que tu attends comme résultat, mais ma conjecture est que vous voulez une UNION:
Noter que la première colonne
query
résultat est nécessaire pour séparer les résultats de deux requêtes en raison de l'union de (X et Y) et (X ou Y) est toujours (X ou Y).OriginalL'auteur zvone
Utilisation
()
pour ce type de conditionsSi vous voulez vérifier pour la même chaîne que
A
ici, alors vous aurez même o/p à l'aide de requête suivante- je mettre à jour ma réponse, mais comme il veut savoir comment utiliser
AND
etOR
dans la seule requête que je ne suis pas la suppression de tout ce qui précède.Non, c'est probablement une bonne chose. Il n'avait pas à l'origine m'est apparu que 'A' est peut être juste un espace réservé différente dans les deux conditions, pas une valeur littérale garanti d'être le même.
OriginalL'auteur Salil
Il vous suffit de combiner les conditions
WHERE
Les parenthèses s'assurer que l'ensemble de la
AND
expressions "valide" si et seulement si TOUTES les contenant conditions sont remplies alors que le reste macthes laOR
OriginalL'auteur DrColossos