SQL - это язык запросов. Не протокол.
Rest - это подход к дизайну программного интерфейса, а не протокол.
=> Первая половина вопроса просто не имеет смысла.
sql-запросы практически не используются в js ( и вообще возможно ли сделать sql-запрос в js?)
Из браузера не получится, тк почти все СУБД предлагают свой протокол на основе TCP. А из браузера нельзя работать напрямую с TCP.
почему мы не можем использовать всегда REST API через js для работы с базой данных - мы ведь также работаем с базой данных на сервере
Не понял вопрос.
Или дело просто в безопасности?
Не понял вопрос.