Desde mi punto de vista, la respuesta de @ Mr.Brownstone es solo parcialmente correcta.
El backtick `
se usa en MySQL para delimitar literales que representan identificadores (no cadenas).
Esto le permite usar caracteres no generalmente aceptados como espacios, palabras reservadas, etc. como identificadores. Por ejemplo:
SELECT * FROM `Strange table name`;
También es importante que también le permita al analizador saber si está haciendo algo mal, como seleccionar una columna que no existe. Por ejemplo:
SELECT notexistingcolumn FROM atable;
Si atable
existe pero la notexistingcolumn
columna no existe, se interpretará como la cadena literal "columna no existente" seleccionándola como un valor (y probablemente emitiendo una advertencia).
En cambio, si usa:
SELECT `notexistingcolumn` FROM `atable`;
Reconocerá que notexistingcolumn
es el nombre de una columna que no existe y arrojará un error.
Creo que siempre es preferible rodear los identificadores con backticks, incluido el alias, y tratar de evitar el uso de palabras reservadas y caracteres extraños para los identificadores.
Puede leer más sobre el backtick de MySQL en https://dev.mysql.com/doc/refman/8.0/en/identifiers.html .