none
Orden por defecto RRS feed

  • Pregunta

  • Buenos días a todos. 

    Consulta, en una tabla con Id, siempre el default para ordenación será el Id pero, ¿se puede dejar por defecto por ejemplo el nombre? Cada vez que haga un select me ordene por ese campo, se puede? 

    Pregunto ya que es bastante molesto siempre estar especificando en el Order By el campo.

    Muchas gracias.

    Saludos

    miércoles, 17 de abril de 2019 13:11

Respuestas

  • Enrique,

    Las tablas en T-SQL no tienen orden por defecto.  La unica forma de garantizar el orden de salida correcto es usando la clausula ORDER BY.


    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas

    • Marcado como respuesta Enrique Aleman miércoles, 17 de abril de 2019 16:52
    miércoles, 17 de abril de 2019 13:47
  • Otra aclaración: ¿Por qué, en la práctica, si la tabla tiene un ID, aparece rdenada por este campo, cuando en teoría SQL no garantiza ningun orden?

    La respuesta está en el Clustered Index. Normalmente, el campo ID suele ser la clave primaria. Y la clave primaria, mientras no le digas expresamente lo contrario, se genera sobre un índice agrupado (clustered index). Los datos de la tabla, cuando existe un clustered index, se guardan dentro del clustered index. Cuando haces un "select" sin ninguna condición que se optimice para usar otro índice distinto, lo que hace el sistema para responder a la select es recorrer el sitio donde están almacenados los datos... que resulta ser el índice sobre el campo ID. En consecuencia, sigue el orden del índice y por eso te salen los datos con ese orden.

    • Marcado como respuesta Enrique Aleman miércoles, 17 de abril de 2019 16:52
    miércoles, 17 de abril de 2019 15:35

Todas las respuestas

  • Enrique,

    Las tablas en T-SQL no tienen orden por defecto.  La unica forma de garantizar el orden de salida correcto es usando la clausula ORDER BY.


    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas

    • Marcado como respuesta Enrique Aleman miércoles, 17 de abril de 2019 16:52
    miércoles, 17 de abril de 2019 13:47
  • :/ perfecto. Gracias por esa aclaración. 

    Saludos.

    miércoles, 17 de abril de 2019 13:52
  • Otra aclaración: ¿Por qué, en la práctica, si la tabla tiene un ID, aparece rdenada por este campo, cuando en teoría SQL no garantiza ningun orden?

    La respuesta está en el Clustered Index. Normalmente, el campo ID suele ser la clave primaria. Y la clave primaria, mientras no le digas expresamente lo contrario, se genera sobre un índice agrupado (clustered index). Los datos de la tabla, cuando existe un clustered index, se guardan dentro del clustered index. Cuando haces un "select" sin ninguna condición que se optimice para usar otro índice distinto, lo que hace el sistema para responder a la select es recorrer el sitio donde están almacenados los datos... que resulta ser el índice sobre el campo ID. En consecuencia, sigue el orden del índice y por eso te salen los datos con ese orden.

    • Marcado como respuesta Enrique Aleman miércoles, 17 de abril de 2019 16:52
    miércoles, 17 de abril de 2019 15:35