Pregunta

Necesito ayuda con este ejercicio donde tengo que traducir propiedades del inglés al SQL.

Preguntas:

  1. la longitud tiene al menos un 0

    Answer: MIN(ABS(length)) = 0
    
  2. La longitud tiene más que un valor

    Answer: MIN(length) < MAX(length)
    
  3. no hay nulos para la longitud

    Answer: COUNT(*) = COUNT(length)
    
  4. Los valores de longitud son positivos o negativos

    Answer: MIN(length) * MAX(length) > 0
    
  5. La longitud difiere por encima y por debajo de cero en la misma cantidad

    Answer: MIN(length) = -max(length)
    
  6. Todos los valores de longitud son diferentes

    Answer: COUNT(DISTINCT length) = COUNT(length)
    
  7. Solo uno de min (longitud) o máximo (longitud) es positivo

    Answer: MIN(length) * MAX(length) < 0 
    
  8. La longitud tiene un valor o valor nulo

    Answer: MIN(length) = MAX(length)
    

¿Son correctos? No estoy seguro sobre el #3, 5, 6 y 8 en particular.

¿Fue útil?

Solución

  1. la longitud tiene al menos un 0

    Answer: MIN(ABS(length)) = 0
    
  2. La longitud tiene más que un valor

    Answer: MIN(length) < MAX(length)
    or
    Answer: COUNT(distinct length) > 1
    
  3. no hay nulos para la longitud

    Answer: COUNT(*) = COUNT(length)
    
  4. Los valores de longitud son positivos o negativos

    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. La longitud difiere por encima y por debajo de cero en la misma cantidad

    Answer: MIN(length) = -max(length)
    
  6. Todos los valores de longitud son diferentes

    Answer: COUNT(DISTINCT length) = COUNT(length)
    
  7. Solo uno de min (longitud) o máximo (longitud) es positivo

    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. La longitud tiene un valor o valor nulo

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

Otros consejos

Yo cuestionaría #2. Es posible que tenga dos valores de longitud idénticos.

Para el n. ° 3, no usaría la cláusula para verificar para no hacer nulos. Lo mismo para el #4. Tener es no El lugar correcto para verificar la equivalencia para cada fila contra un valor escalar.

#5 podría tener algunos problemas que valen la pena escribir. ¿Estás seguro de que se refieren a Min y Max y no distribución?

#8 también está redactado extrañamente. NULL podría ser el valor de la longitud, o podría ser ausencia de valor. Depende de cómo se forme la consulta. Además, ¿existe el requisito de que no use operadores como AND & OR?

Además, NULL se trata como "desconocido" con la mayoría de las plataformas de bases de datos. Como se desconoce, no se puede verificar en busca de equivalencia con otro valor. Si no sabes que Value1 es, no puedes saber si es lo mismo que lo que hay en Value2...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top