Do meu ponto de vista, a resposta do Sr. Brown é apenas parcialmente correta.
O backtick `
é usado no MySQL para delimitar literais que representam identificadores (não strings).
Isso permite que você use caracteres não aceitos como espaços, palavras reservadas etc. como identificadores. Por exemplo:
SELECT * FROM `Strange table name`;
Também importante é que ele também permite que o analisador saiba se você está fazendo algo errado, como selecionar uma coluna que não existe. Por exemplo:
SELECT notexistingcolumn FROM atable;
Se atable
existir, mas a notexistingcolumn
coluna não existir, ela será interpretada como a string literal "notexistingcolumn", selecionando-a como um valor (e provavelmente emitindo um aviso).
Em vez disso, se você usar:
SELECT `notexistingcolumn` FROM `atable`;
Ele reconhecerá que notexistingcolumn
é o nome de uma coluna que não existe e lançará um erro.
Eu acho que é sempre preferível cercar identificadores com backticks, incluindo o alias e tentar evitar o uso de palavras reservadas e caracteres estranhos para identificadores.
Você pode ler mais sobre o backtick do MySQL em https://dev.mysql.com/doc/refman/8.0/en/identifiers.html .