web-dev-qa-db-fra.com

Que signifie "<>" dans Oracle

Que signifie <> en langage SQL: Exemple de code

SELECT ordid,
       prodid,
       qty
FROM   item
WHERE  prodid IN (SELECT prodid
                  FROM   item
                  WHERE  ordid = 605)
       AND qty IN (SELECT qty
                   FROM   item
                   WHERE  ordid = 605)
       AND ordid <> 605;  
33
Jay

Cela signifie «pas égal à». Vous filtrez donc les enregistrements où ordid est 605. Dans l'ensemble, vous recherchez des enregistrements qui ont les mêmes valeurs prodid et qty que ceux affectés à ordid 605, mais qui correspondent à un ordre différent.

40
Alex Poole

N'est pas égal. L'opposé de =, équivalent à !=.

De plus, pour les informations de chacun, cela peut renvoyer un nombre de lignes non nul. Je vois que le PO a reformaté sa question pour que ce soit un peu plus clair, mais pour autant que je sache, ceci trouve des enregistrements dans lesquels l'ID de produit est parmi ceux trouvés dans l'ordre # 605, tout comme la quantité, mais ce n'est pas réellement l'ordre # 605. Si la commande n ° 605 contient 1 pomme, 2 bananes et 3 crayons de couleur, la n ° 604 devrait correspondre si elle contient 2 pommes (mais pas 3 chiens). Cela ne correspond tout simplement pas à la commande n ° 605. (Et si ordid est unique, il trouverait les doublons exacts.)

10
brymck

Cela signifie simplement "différent de", certaines langues utilisent !=, d'autres (comme SQL) <>

3
Arnaud F.

not equals. Voir ici pour une liste des conditions

3
michael667

Je suis surpris que personne n'ait mentionné le cas spécial null. Je pense que la signification de <> est plutôt quelque chose comme 

a une valeur qui n'est pas égale à

Dans ce cas, il filtre les éléments qui ont ordid 605 et articles qui ont nullordid.

Il peut être évident dans ce contexte que ordid n'est jamais null, mais il n'est jamais mauvais de se rappeler que null est non <> à partir de 605 (ou de rien). 

2
bwt

Cela signifie pas égal à. 

C'est la même chose que! = Dans les langages de type C . Mais <> est la norme ISO et

! = Pas égal à (pas la norme ISO)

0
Usman

Cela signifie not equal to

Dois-je utiliser! = Ou <> pour différent de TSQL?

Regardez le lien. Il a une explication détaillée de ce qu'il faut utiliser pour quoi.

0
Jay