PUERTA | PUERTA-CS-2006 | Pregunta 67

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *