Tengo una tabla con un índice agrupado de PK así como otros índices, únicos y no exclusivos. Si expido (exactamente):Ordenar el orden de los resultados para Seleccionar SIN WHERE o ORDER BY Cláusula
SELECT * FROM table_name
o
SELECT col1, col2 FROM table_name
en qué orden se devuelven las filas?
Esta es la primera pregunta en un cuestionario de entrevista que un cliente nos ha enviado. Aquí están las instrucciones:
Si la respuesta a esta pregunta es incorrecta, ¡termine la entrevista inmediatamente! El individuo, independientemente de su capacidad declarada, no comprende los sistemas de administración de bases de datos relacionales basados en SQL. Esta es la lógica SQL-101 de los últimos 25 años. La respuesta correcta es: "desconocido/aleatorio/indeterminado porque no se ha especificado ninguna cláusula ORDER BY como parte de la consulta".
De alguna manera no estoy convencido de que esto sea realmente correcto. Todos los comentarios son bienvenidos.
Gracias,
Raj
+1 También podría obtener un escaneo ordenado por asignación en algunas condiciones o SQL Server podría usar la función de escaneo avanzado/escaneo. [Ver también esta respuesta] (http://stackoverflow.com/questions/7116004/guarantee-order-of-table-valued-function-results/7117186#7117186) –