SELECT 
  company_descriptions.*, 
  companies.*, 
  cscart_vendor_plan_descriptions.plan, 
  cscart_seo_names.name as seo_name, 
  cscart_seo_names.path as seo_path, 
  CAST(
    AVG(`prd`.`average_rating`) AS DECIMAL(10, 2)
  ) AS average_rating, 
  prd.reviews_count product_reviews_count 
FROM 
  cscart_companies AS companies 
  LEFT JOIN cscart_company_descriptions AS company_descriptions ON company_descriptions.company_id = companies.company_id 
  AND company_descriptions.lang_code = 'vi' 
  LEFT JOIN cscart_vendor_plan_descriptions ON companies.plan_id = cscart_vendor_plan_descriptions.plan_id 
  AND cscart_vendor_plan_descriptions.lang_code = 'vi' 
  LEFT JOIN cscart_seo_names ON cscart_seo_names.object_id = 387 
  AND cscart_seo_names.type = 'm' 
  AND cscart_seo_names.dispatch = '' 
  AND cscart_seo_names.lang_code = 'vi' 
  LEFT JOIN cscart_products p ON p.company_id = companies.company_id 
  LEFT JOIN cscart_product_review_prepared_data prd ON p.product_id = prd.product_id 
WHERE 
  companies.company_id = 387

Query time 0.03563

JSON explain

{
  "query_block": {
    "select_id": 1,
    "const_condition": "1",
    "nested_loop": [
      {
        "table": {
          "table_name": "companies",
          "access_type": "const",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "4",
          "used_key_parts": ["company_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "company_descriptions",
          "access_type": "const",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "10",
          "used_key_parts": ["company_id", "lang_code"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "cscart_vendor_plan_descriptions",
          "access_type": "const",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "10",
          "used_key_parts": ["plan_id", "lang_code"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "cscart_seo_names",
          "access_type": "ref",
          "possible_keys": ["PRIMARY", "dispatch"],
          "key": "PRIMARY",
          "key_length": "206",
          "used_key_parts": ["object_id", "type", "dispatch", "lang_code"],
          "ref": ["const", "const", "const", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_seo_names.`type` = 'm' and cscart_seo_names.dispatch = '' and cscart_seo_names.lang_code = 'vi')"
        }
      },
      {
        "block-nl-join": {
          "table": {
            "table_name": "p",
            "access_type": "ALL",
            "rows": 25270,
            "filtered": 100,
            "attached_condition": "p.company_id = 387"
          },
          "buffer_type": "flat",
          "buffer_size": "18Kb",
          "join_type": "BNL",
          "attached_condition": "trigcond(p.company_id = 387)"
        }
      },
      {
        "table": {
          "table_name": "prd",
          "access_type": "ref",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["dev_db.p.product_id"],
          "rows": 562,
          "filtered": 100,
          "attached_condition": "trigcond(trigcond(p.product_id is not null))"
        }
      }
    ]
  }
}

Result

company_id lang_code company_description terms status company company_search address city city_id district_id ward_id state country zipcode email phone url storefront secure_storefront entry_page redirect_customer countries_list timestamp shippings logos request_user_id request_account_name request_account_data tax_number pre_moderation pre_moderation_edit pre_moderation_edit_vendors plan_id suspend_date grace_period_start last_time_suspended last_debt_notification_time paypal_commerce_platform_account_id stripe_connect_account_id stripe_connect_account_type sended_email_notify ghn_shop_id verify show_homepage messenger messenger_flag plan seo_name seo_path average_rating product_reviews_count
387 vi <p>Được thành lập bởi một nhóm bạn yêu thiên nhiên và các sản phẩm thủ công, Hoa Ốp La mong muốn lan toả tình yêu thiên nhiên đến với mọi người. Thương hiệu tự gọi mình là một xưởng xà bông thủ công chứ không phải đơn vị kinh doanh. Họ hy vọng đây sẽ là nơi bạn có thể tin tưởng, lựa chọn những bánh xà bông lành tính, an toàn đối với sức khỏe và môi trường.</p> <p>Ở Hoa Ốp La, mọi thứ đều giản dị, mộc mạc và đầy chân phương. Mỗi bánh xà bông thủ công tại đây đều được làm từ những thành phần tự nhiên với quy trình sản xuất hạn chế tối đa rác thải ra môi trường. Những loại thảo mộc, dầu dưỡng hay tinh dầu thiên nhiên được đội ngũ sản xuất lựa chọn kỹ lưỡng và kết hợp một cách khoa học. Do vậy, sản phẩm của Hoa Ốp La không những an toàn mà còn giúp nuôi dưỡng làn da. Bạn sẽ cảm thấy làn da khỏe mạnh và mềm mịn từng ngày.</p> <p>Nếu bạn yêu quý thiên nhiên và mong muốn thay thế các sản phẩm làm sạch công nghiệp sang sản phẩm thủ công, thì Hoa Ốp La chính là thương hiệu lý tưởng dành cho bạn.</p> A Hoa Ốp La Hoa Ốp La 2B Nguyễn Trung Trực, Khu Kim Sơn, Thị trấn Long Thành, Huyện Long Thành, Tỉnh Đồng Nai, Việt Nam 75 740 26368 hoaopla.2021@gmail.com 0901613972 none Y 1648018213 6,4,7 0 N N N 1 0 0 0 0 0 0 N N A Y Hoa hồng người bán hoa-op-la 4.00 0