SQL How to show information from others tables in select requet
Instead of the (implicit) inner joins you have to use left joins if you want all rows from the left table regardless of the existence of a matching row from the right table.

SELECT ac.m_art_code,
       ac.m_shop_code,
       sh.shops_name,
       ac.m_user_code,
       us.user_name
       FROM action ac
            LEFT JOIN shops sh
                      ON sh.shop_code = ac.m_shop_code
            LEFT JOIN user us
                      ON us.user_code = ac.m_user_code;