Z mojego punktu widzenia odpowiedź @ Mr.Brownstone jest tylko częściowo poprawna.
Strzałka wsteczna `
jest używana w MySQL do rozgraniczenia literałów reprezentujących identyfikatory (nie łańcuchy).
Pozwala to na użycie zwykle identyfikatorów, takich jak spacje, słowa zastrzeżone itp. Na przykład:
SELECT * FROM `Strange table name`;
Ważne jest również to, że pozwala parserowi dowiedzieć się, czy robisz coś źle, np. Wybierając kolumnę, która nie istnieje. Na przykład:
SELECT notexistingcolumn FROM atable;
Jeśli atable
istnieje, ale notexistingcolumn
kolumna nie istnieje, zostanie zinterpretowana jako ciąg literalny „nieistniejąca kolumna”, wybierając ją jako wartość (i prawdopodobnie emitując ostrzeżenie).
Zamiast tego, jeśli użyjesz:
SELECT `notexistingcolumn` FROM `atable`;
Rozpoznaje, że notexistingcolumn
jest to nazwa kolumny, która nie istnieje i zgłasza błąd.
Wydaje mi się, że zawsze lepiej jest otaczać identyfikatory za pomocą odwrotnych znaków, w tym aliasu, i starać się unikać używania zastrzeżonych słów i dziwnych znaków dla identyfikatorów.
Możesz przeczytać więcej na temat backsick MySQL na https://dev.mysql.com/doc/refman/8.0/en/identifiers.html .