Supongamos que tenemos una tabla llamada SUCURSALES con estas columnas:

SUC_CODIGO

SUC_NOMBRE

y otra tabla llamada PRODUCTOS con estas columnas:

PRD_CODSUC

PRD_CODIGO

PRD_NOMBRE

La primera tabla guarda los códigos y los nombres de las sucursales. Por ejemplo:

0 = Asunción

1 = Buenos Aires

2 = Londres

3 = Nueva York

En la segunda tabla tenemos guardados los códigos de las sucursales donde se encuentran los productos, pero no los nombres de dichas sucursales. Por ejemplo:

0, 1, ‘Televisor Philips de 2o pulgadas’

0, 2, ‘Televisor Sony de 20 pulgadas’

2, 3, ‘Televisor Philips de 29 pulgadas’

En la primera columna el número 0 indica que el producto se encuentra en la sucursal de Asunción y el número 2 indica que se encuentra en la sucursal de Londres.

Lo que queremos ahora es ver el nombre de la sucursal, el código del producto y el nombre del producto. Lo que tenemos registrado en la tabla de PRODUCTOS es el código de la sucursal pero eso no es lo que nos interesa ver, lo que nos interesa ver ahora es el nombre de la sucursal.

SELECT
   S.SUC_NOMBRE,
   P.PRD_CODIGO,
   P.PRD_NOMBRE
FROM
   PRODUCTOS  P
JOIN
   SUCURSALES S
      ON P.PRD_CODSUC = S.SUC_CODIGO

Como ambas tablas comparten valores comunes entonces las podemos relacionar. El resultado que obtendremos será:

Asunción, 1, Televisor Philips de 2o pulgadas

Asunción, 2, Televisor Sony de 20 pulgadas

Londres, 3, Televisor Philips de 29 pulgadas

Como las tablas SUCURSALES y PRODUCTOS tienen una columna que tiene el mismo significado (la columna SUC_CODIGO es el código de la sucursal y la columna PRD_CODSUC también es el código de la sucursal) entonces ambas tablas pueden ser relacionadas mediante esa columna en común. Si están relacionadas entonces en el SELECT se pueden usar todas las columnas de la tabla SUCURSALES y también todas las columnas de la tabla PRODUCTOS.

Para evitar malentendidos a ambas tablas se les asignó un alias. ¿Qué es un alias? es un nombre alternativo, generalmente abreviado, que se usa para referirse a una tabla.

El alias de la tabla PRODUCTOS es P. El alias de la tabla SUCURSALES es S.

Usar alias no es obligatorio, también podríamos haber escrito:

PRODUCTOS.PRD_CODIGO

pero es más corto escribir:

P.PRD_CODIGO

El alias puede tener varias letras e inclusive números, todos estos son alias aceptables:

P, P1, PROD, MIPROD, TABLAPRODUCTOS

si sabes que en ambas tablas no existen columnas que tienen exactamente el mismo nombre entonces puedes evitar los alias aunque por legibilidad lo recomendable es que sí los uses. El autor de este blog siempre usa alias.

El SELECT anterior también podría haber sido escrito así y funcionaría perfectamente:

SELECT
   SUC_NOMBRE,
   PRD_CODIGO,
   PRD_NOMBRE
FROM
   PRODUCTOS
JOIN
   SUCURSALES
      ON PRD_CODSUC = SUC_CODIGO

o sea, sin usar alias. En consultas sencillas como esa no habría mayor inconveniente en evitar los alias pero en consultas más complicadas, donde hay varias tablas relacionadas, si no usas alias puedes encontrarte con graves problemas difíciles de solucionar porque no podrás fácilmente saber a cual tabla pertenece cada columna.

El autor de este blog siempre usa alias.