MariaDB [test]> create table t1 ( id int primary key auto_increment, name varchar(10)); Query OK, 0 rows affected (0.011 sec) MariaDB [test]> insert into t1 (name) values ('wrbyviwb'); Query OK, 1 row affected (0.004 sec) MariaDB [test]> insert into t1 (name) values ('wrbyrwb1'); Query OK, 1 row affected (0.003 sec) MariaDB [test]> insert into t1 (name) values ('wrbrwb3'); Query OK, 1 row affected (0.003 sec) MariaDB [test]> DELIMITER // MariaDB [test]> DROP FUNCTION IF EXISTS t1test// Query OK, 0 rows affected, 1 warning (0.002 sec) MariaDB [test]> CREATE FUNCTION t1test(val INT) RETURNS varchar(400) CHARSET utf8 -> BEGIN -> DECLARE output VARCHAR(400) DEFAULT ''; -> -> -> SET output = (select cnt.name from t1 cnt join ( select CNT.id from t1 CNT where CNT.id=val) t2 on t2.id=cnt.id); -> RETURN output; -> END// Query OK, 0 rows affected (0.006 sec) MariaDB [test]> DELIMITER ; MariaDB [test]> MariaDB [test]> select t1test(1); ERROR 1146 (42S02): Table 'test.CNT' doesn't exist MariaDB [test]> MariaDB [test]> DELIMITER // MariaDB [test]> DROP FUNCTION IF EXISTS t1test// Query OK, 0 rows affected (0.006 sec) MariaDB [test]> CREATE FUNCTION t1test(val INT) RETURNS varchar(400) CHARSET utf8 -> BEGIN -> DECLARE output VARCHAR(400) DEFAULT ''; -> DECLARE output1 VARCHAR(400) DEFAULT ''; -> DECLARE output2 VARCHAR(400) DEFAULT ''; -> -> SET output1 = (select Cnt.name from t1 Cnt where Cnt.id=val); -> SET output = (select cnt.name from t1 cnt where cnt.id=val); -> SET output2 = (select cnt.name from t1 cnt join ( select cnt.id from t1 cnt where cnt.id=val) sub1 on sub1.id=cnt.id); -> RETURN output2; -> END// Query OK, 0 rows affected (0.006 sec) MariaDB [test]> DELIMITER ; MariaDB [test]> MariaDB [test]> MariaDB [test]> select t1test(1); ERROR 1146 (42S02): Table 'test.cnt' doesn't exist MariaDB [test]> MariaDB [test]> MariaDB [test]> select @@version -> ; +---------------------+ | @@version | +---------------------+ | 10.6.21-MariaDB-log | +---------------------+ 1 row in set (0.000 sec) MariaDB [test]>