From my point of view, @Mr.Brownstone answer is only partially correct.
The backtick `
is used in MySQL to delimit literals that represent identifiers (not strings).
This allows you to use not usually accepted characters like spaces, reserved words, etc. as identifiers. For example:
SELECT * FROM `Strange table name`;
Also important is that it also allows the parser to know if you are doing something wrong like selecting a column that doesn't exist. For example:
SELECT notexistingcolumn FROM atable;
If atable
exists but notexistingcolumn
column doesn't exist it will be interpreted as the literal string "notexistingcolumn" selecting it as a value (and probably emitting a warning).
Instead, if you use:
SELECT `notexistingcolumn` FROM `atable`;
It will recognize that notexistingcolumn
is the name of a column that doesn't exist and throw an error.
I think is always preferable to surround identifiers with backticks including the alias and try to avoid using reserved words and strange characters for identifiers.
You can read more about the MySQL backtick.