En SQL tenemos la posibilidad de utilizar alias (apodos, sobrenombres, nombres alternativos) cuando nos referimos a una tabla. Esto tiene dos principales ventajas:

  1. Escribimos menos
  2. Facilita la lectura

Ejemplo 1:

SELECT
   C.CLI_CODSUC,
   S.SUC_NOMBRE AS CLI_NOMSUC,
   C.CLI_IDENTI,
   C.CLI_NOMBRE
FROM
   CLIENTES   C
JOIN
   SUCURSALES S
      ON C.CLI_CODSUC = S.SUC_CODIGO
ORDER BY
   C.CLI_NOMBRE

En el Ejemplo 1. el alias “C” identifica a la tabla CLIENTES y el alias “S” identifica a la tabla SUCURSALES. De esta manera jamás puede haber confusión, el Servidor del Firebird siempre sabrá si una columna pertenece a la tabla CLIENTES o si pertenece a la tabla SUCURSALES, porque el alias le dice a cual de esas tablas pertenece.

El alias siempre se escribe a continuación del nombre de la tabla que referencia. No se requiere que tenga una sola letra, puede tener varias letras e inclusive letras y números si así lo deseas.

El mismo ejemplo anterior, sin el uso de alias, quedaría así:

Ejemplo 2.

SELECT
   CLIENTES.CLI_CODSUC,
   SUCURSALES.SUC_NOMBRE AS CLI_NOMSUC,
   CLIENTES.CLI_IDENTI,
   CLIENTES.CLI_NOMBRE
FROM
   CLIENTES
JOIN
   SUCURSALES
      ON CLIENTES.CLI_CODSUC = SUCURSALES.SUC_CODIGO
ORDER BY
   CLIENTES.CLI_NOMBRE

Como puedes ver, tampoco hay confusión posible para saber a cual tabla pertenece cada columna, pero se escribe mucho más y es innecesario porque usando un alias ahorraríamos letras y también tiempo de escritura.

Ejemplo 3

SELECT
   C.CLI_CODSUC,
   C.CLI_IDENTI,
   C.CLI_NOMBRE
FROM
   CLIENTES   C
ORDER BY
   C.CLI_NOMBRE

 En el Ejemplo 3. hay un pequeño error, no afectará al resultado que obtengas pero demuestra que aún no has comprendido como funciona SQL. ¿Cuál es ese error? Que en el SELECT se especificó solamente una tabla y sin embargo se está usando un alias. Eso le hará trabajar al Servidor más de lo que debería, probablemente la diferencia en tiempo sea de unos milisegundos pero de todas maneras no es lo más eficiente. Y un buen profesional siempre busca la máxima eficiencia.

Entonces, la regla es: “Usar alias siempre que en el SELECT intervenga más de una tabla. No usar alias si interviene una sola tabla”.

Artículo relacionado:

El índice del blog Firebird21

 

Anuncios