Question

Je besoin d'aide pour cet exercice où je dois traduire les propriétés de l'anglais vers sql.

Questions:

  1. longueur présente au moins un 0

    Answer: MIN(ABS(length)) = 0
    
  2. longueur a plus d'une valeur

    Answer: MIN(length) < MAX(length)
    
  3. il n'y a pas de longueur nulls

    Answer: COUNT(*) = COUNT(length)
    
  4. valeurs de longueur sont positifs ou négatifs

    Answer: MIN(length) * MAX(length) > 0
    
  5. diffère de la longueur au-dessus et en dessous de zéro par la même quantité

    Answer: MIN(length) = -max(length)
    
  6. toutes les valeurs de longueur sont différentes

    Answer: COUNT(DISTINCT length) = COUNT(length)
    
  7. seul de min (longueur) ou max (longueur) est positif

    Answer: MIN(length) * MAX(length) < 0 
    
  8. longueur a une valeur nulle ou une valeur de

    Answer: MIN(length) = MAX(length)
    

sont-elles correctes? Je ne suis pas sûr de # 3, 5, 6 et 8 en particulier.

Était-ce utile?

La solution

  1. longueur présente au moins un 0

    Answer: MIN(ABS(length)) = 0
    
  2. longueur a plus d'une valeur

    Answer: MIN(length) < MAX(length)
    or
    Answer: COUNT(distinct length) > 1
    
  3. il n'y a pas de longueur nulls

    Answer: COUNT(*) = COUNT(length)
    
  4. valeurs de longueur sont positifs ou négatifs

    Answer: MIN(length) * MAX(length) > 0
    or
    Better Answer: Sign(MIN(length)) * Sign(MAX(length)) > 0
    
    -- Because, with large values of length, multiplying two of them
    -- together can give you an overflow.
    
  5. diffère de la longueur au-dessus et en dessous de zéro par la même quantité

    Answer: MIN(length) = -max(length)
    
  6. toutes les valeurs de longueur sont différentes

    Answer: COUNT(DISTINCT length) = COUNT(length)
    
  7. seul de min (longueur) ou max (longueur) est positif

    Maybe Wrong Answer: MIN(length) * MAX(length) < 0 (0 is not positive)
    or
    Answer: MIN(length) <= 0 and MAX(length) > 0
    
    -- IF: one must be positive and the other must be negative
    -- change <= 0 to < 0
    
  8. longueur a une valeur nulle ou une valeur de

    Wrong Answer: MIN(length) = MAX(length) -- null=null does not return true
    or
    Answer: COUNT(distinct length) <= 1
    

Autres conseils

Je question # 2. Vous pouvez avoir deux valeurs de longueur identiques.

Pour # 3, je n'utiliser la clause having vérifier les non-valeurs NULL. Même chose pour # 4. AYANT est pas au bon endroit à vérifier l'équivalence pour chaque ligne à une valeur scalaire.

# 5 pourrait avoir des problèmes libellé vaut la peine. Êtes-vous certain qu'ils veulent dire min et max et non distribution?

# 8 est curieusement formulée ainsi. Null pourrait être la valeur de la longueur, ou il pourrait être l'absence de valeur. Cela dépend de la façon dont la requête est formatté. Aussi, est-il nécessaire de ne pas utiliser des opérateurs tels que AND & OR?

En outre, NULL est traité comme « inconnu » avec la plupart des plates-formes de bases de données. Comme il ne sait pas, il ne peut pas être vérifiée pour l'équivalence contre une autre valeur. Si vous ne savez pas ce que Value1 est, vous ne pouvez pas peut-être savoir si c'est la même chose que ce qui est dans Value2 ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top