J'utilise SQL (SQL Server, PostgreSQL) sur 10 ans et je n'ai toujours jamais utilisé Par exemple: p> ou p> utilisant Alors la question est la suivante: je manque quelque chose? Y a-t-il une situation où aucun / certains code> et tous les mots-clés code> dans mon code de production. Toute la situation que j'ai rencontrée, je pourrais vous échapper avec dans code>, max code>, min code>, existe code>, et je pense que je pense que C'est plus lisible. n'importe quel code> et < code> Tout code>: p>
tout / certains code> et tout code> brille sur d'autres solutions? p> p>
3 Réponses :
Non, je n'ai jamais utilisé le Gardez à l'esprit que SQL a été défini par un comité. p> aucun code>, tout code> ou quelques mots-clés code> et je ne les ai jamais vus utilisés dans Code des autres personnes. Je suppose que celles-ci sont la syntaxe de vestigal, comme les différents mots-clés optionnels qui apparaissent dans certains endroits dans SQL (par exemple, comme code>). P>
J'avais essayé quelque chose que rien manque de rien, juste un type d'habitude différent uniquement si j'utilise un pas code> condition. L'existienne et devront ajouter non tandis que tout ou certains changent simplement l'opérateur vers <> code>. Je n'utilise que SQL Server et je ne suis pas sûr de l'autre logiciel pourraient manquer quelque chose P>
Je trouve tout et tous pour être très utile lorsque vous ne testez pas simplement l'égalité ou l'inégalité. Considérons Tel qu'utilisé ma réponse à cette question . P> considère que tout code>, tout code> et leurs négations peuvent grandement simplifier le code qui nécessiterait autrement des sous-requêtes ou des CTES non triviales, et ils sont significativement sous-utilisés à mon avis. tout code> fonctionnera avec n'importe quel opérateur. C'est très pratique avec comme code> et ~ code>, mais fonctionnera avec TSQUERY, des tests d'adhésion de tableau, des tests de clé HSTORE, et plus encore. P> 'a => 1, b => 2'::hstore ? ALL (ARRAY['a', 'b'])
+1, mais que utilisez-vous les SGBDM? J'ai essayé de mettre votre requête dans le travail de PostgreSQL et de mieux que je puisse obtenir, c'est comme n'importe quel (valeurs ('% Lah'), ('% FAH'), ('% DAH')); Code > SQL FIDDLE
Il doit être tout (tableau [...]) code>. Mais oui, c'est généralement très utile.
@PeeReisenraut whoops, bon point. Je continue à penser qu'il faut la même syntaxe de liste littérale simple que in (...) code>
Intéressant - Pourriez-vous ajouter d'autres exemples de liens qui illustrent votre deuxième point, s'il vous plaît?
Dans les cas où tout / tout signifie max / min quels avantages ont une option sur l'autre?
@skan qui n'a pas de sens. min code> et max code> sont des agrégats. Tout code> et Tous code> sont complètement différents.
Je ne les ai pas utilisés non plus au cours des 13 dernières années.
Je n'ai jamais utilisé
sauf code> non plus. Je tiens àn'existe pas code>Je ne pouvais pas être d'accord avec ça, je pense que
sauf code> est utile pour trouver des différences entre deux tables avec le même schémaMais les tables avec la même structure (dans le même schéma) sont rares. Pourrait être différent lorsque vous autorisez des vues ou des expressions de table, cependant.
À Postgres, la syntaxe Tout / toutes est utile pour la recherche de tableaux, bien que je ne l'ai jamais utilisée à Vanilla SQL. Array Recherche
@Romanpekar,
= tout code> etdans code> est un alias pour sous-requêtes. Donc, votre première comparaison n'a pas beaucoup de sens en fait, il s'agit de la même chose avec elle-même.@Pacerier Eh bien ce n'est pas le point de la question, question est:
tout code>,ouettout code> pourrait être facilement supprimé du code@Joop En fait, je trouve que
sauf code> est un moyen simple de comparer les résultats de deux code> Sélectionnez les instructions code>:Sélectionnez ... Sauf sélectionnez ... code> donnerait un L'ensemble vide des résultats sont les mêmes.