Introducción
Tal vez hemos escuchado el término “alias” cuando usamos MySQL u otros motores de bases de datos.
Un alias es como su nombre lo dice, un apodo o forma alternativa de llamar a algo. Explicaremos hoy el uso de AS en MySQL.
Estos alias en MySQL son usados para renombrar o para evitar conflictos con campos repetidos. La cláusula para un alias es AS y su sintaxis es:
<span class="crayon-st">SELECT</span> nombre_original <span class="crayon-st">AS</span> nuevo_nombre_que_ponemos <span class="crayon-st">FROM</span> tabla;
Veamos algunos ejemplos
Alias en MySQL con AS
Esto es muy simple. Como lo dije, usamos AS para renombrar campos o ponerles un nombre bonito. Un ejemplo es cuando llamamos a una función y no queremos que salga un nombre raro.
Renombrar resultados
Veamos, por ejemplo, una simple concatenación:
Ahí, el nombre de la columna es concat(“parzibyte”, “.me”). Eso se ve mal y, por ejemplo, si quisiéramos obtenerlo o leerlo desde un lenguaje de programación sería difícil o imposible acceder a ese campo.
Justo ahí es cuando usamos un alias. Así:
Ahora se ve más limpio.
Otro caso de usar AS en MySQL es en el resultado de una suma. Por ejemplo, esta:
Igualmente el nombre de la columna trae paréntesis, cosa que no se ve limpia. Así que usamos un alias con AS en MySQL:
Así se ve mejor. Y no genera conflictos al conectar un lenguaje de programación, además de que podemos usar ese campo para otras operaciones.
Para evitar conflictos
Otro uso que se me ocurre es para evitar conflictos. Por ejemplo, si unimos dos tablas puede que ambas tengan la columna “id“.
En ese caso no habría un problema o error, pero tendríamos columnas repetidas. Veamos este caso hipotético:
En ese caso hay 2 columnas llamadas id. No sabemos cuál es el de mascotas ni cuál es el de la otra tabla. Pero aquí viene lo bueno de tener alias, podemos modificar la consulta así:
select mascotas.id as idMascota, mascotas.nombre, mascotas.edad,
consultasMascotas.id as idConsultasMascotas
from mascotas inner join consultasMascotas;
Con este resultado:
Y ahí ya sabemos cuál es cuál.
Conclusión
Esta cláusula en MySQL es muy útil en muchos escenarios, no pude poner todos pero seguramente nos salvarán más de una vez. Me parece que también está disponible en otros motores, sería de probar. Incluso podría ser un estándar de SQL, no he investigado.
Pingback: Cifrado de datos en MySQL con AES - Parzibyte's blog
Pingback: Equivalente a STRFTIME de SQLite en MySQL - Parzibyte's blog