Considere la cuenta de relación (cliente, saldo) donde el cliente es una clave principal y no hay valores nulos. Nos gustaría clasificar a los clientes según el saldo decreciente. El cliente con el mayor saldo obtiene el rango 1. No se rompen los empates, pero se omiten los rangos: si exactamente dos clientes tienen el mayor saldo, cada uno obtiene el rango 1 y no se asigna el rango 2
Query1: select A.customer, count(B.customer) from account A, account B where A.balance <=B.balance group by A.customer Query2: select A.customer, 1+count(B.customer) from account A, account B where A.balance < B.balance group by A.customer
Considere estas afirmaciones sobre Consulta1 y Consulta2.
1. Query1 will produce the same row set as Query2 for some but not all databases. 2. Both Query1 and Query2 are correct implementation of the specification 3. Query1 is a correct implementation of the specification but Query2 is not 4. Neither Query1 nor Query2 is a correct implementation of the specification 5. Assigning rank with a pure relational query takes less time than scanning in decreasing balance order assigning ranks using ODBC.
¿Cuáles de las dos afirmaciones anteriores son correctas?
(A) 2 y 5
(B) 1 y 3
(C) 1 y 4
(D) 3 y 5
Respuesta: (C)
Explicación: Consulta 1 y Consulta 2 darán el mismo resultado si todos los clientes tienen saldo distinto. Entonces, para algunas bases de datos, el resultado de la consulta 1 y la consulta 2 será el mismo.
Ahora, consideremos el hecho de que todas las entradas en la base de datos tienen el mismo valor para el saldo. Idealmente, todos los clientes deberían tener el rango 1, pero ambas consultas le darán a todos los clientes un rango igual al número de clientes en la base de datos.
Entonces, ambas consultas no nos dan el resultado requerido.
Por lo tanto, C es la opción correcta.
Comente a continuación si encuentra algo incorrecto en la publicación anterior.
Cuestionario de esta pregunta
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA