Вот смотри, у тебя условие отбора WHERE f.Фамилия = prot.Сущность_нарушения; То есть отбираются только те записи, в которых фамилия сотрудника РАВНА сущности нарушения. Очевидно, что таких нет, и поэтому вывод пуст.
Условие должно быть на одинаковые поля в двух таблицах, а это, опять-таки очевидно, ID_протокола. И не суть важно, фильтровать через WHERE или через JOIN, хотя методологически второй способ более правильный: SELECT f.Фамилия, f.Имя, f.Отчество, f.Звание, prot.Сущность_нарушения
FROM Сотрудник AS f INNER JOIN Протокол AS prot ON f.ID_протокола = prot.ID_протокола; В WHERE надо ставить дополнительные условия, не обусловленные связями между таблицами, например отбор по дате нарушения.
Правда, возникает огромный вопрос, что делает поле ID_протокола в таблице "Сотрудник" и почему нет поля ID_сотрудник в таблице "Протокол".