Я подозреваю, что вы не можете вернуть набор результатов из функции. В функции вам нужно объявить переменную и заполнить ее
Select count(idFriendship) INTO @1
from friendship
Where users.iduser=friendship.iduser1;
return @1;
, вы должны иметь возможность использовать функцию в некотором SQL, поэтому разрешено возвращать только одно значение
https: //dev.mysql.com/doc/refman/8.0/en/create-function-udf.html
Run Statement kbd> предоставит вам список всех результатов в сортируемой таблице. Он также будет запускать оператор только под курсором (или выделен). Вам будет предложено указать переменные связывания, когда вы запустите оператор (любой заполнитель с: перед ним).
например.
select * from customers where customer_id = :id
запросит значение для id
Run Script kbd> выполнит все операторы на листе и выдаст текстовое считывание результатов. Он не будет запрашивать у вас значения переменных связывания.
Я думаю, "Выполняют Оператор" - средний, если Вы хотите добраться, результаты (набор результатов) "Запущенный Скрипт" - является чем-то, что Вы должны выполнить, но не нуждаетесь в результатах, как установка дампа базы данных, или обновляете сценарий для добавления столбцов к таблице и т.д.