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 = 239 
  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 = 239

Query time 0.09546

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 = 239"
          },
          "buffer_type": "flat",
          "buffer_size": "18Kb",
          "join_type": "BNL",
          "attached_condition": "trigcond(p.company_id = 239)"
        }
      },
      {
        "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
239 vi <p>Cùng niềm đam mê với tái chế, lại xuất thân từ thợ thủ công, Kim Ngân đã quyết định xây dựng thương hiệu thời trang bền vững của riêng mình. Từ ý tưởng đó, năm 2019, RENEW JEANS ra đời.</p> <p>Ban đầu, Kim Ngân tận dụng quần cũ của bạn bè, từ đó làm ra những chiếc túi do chính cô thiết kế. Sau một thời gian, để có thêm nguồn nguyên liệu, Ngân bắt đầu sử dụng sản phẩm của mình để đổi quần áo cũ, và tiến tới thương mại hoá các sản phẩm này.</p> <p>Một chiếc túi tái chế của RENEW JEANS cần từ 1 - 3 ngày để hoàn thiện. Và vì sử dụng chất liệu tái chế nên không sản phẩm nào giống hoàn toàn sản phẩm nào. Mỗi sản phẩm túi của RENEW JEANS đều là độc nhất.</p> <p>RENEW JEANS tin rằng chúng ta hoàn toàn có thể sử dụng các nguyên liệu sẵn có để tái chế/ tái sử dụng thành món đồ hữu ích. Thổi sức sáng tạo vào những vật dụng tưởng chừng như bỏ đi, nó sẽ hồi sinh với tràn đầy năng lượng tích cực. Khi sự sáng tạo được đặt đúng chỗ thì nó sẽ tự động tỏa sáng.</p> A Renew Jeans Renew Jeans Số 15b ngách 2 ngõ 199 hồ tùng mậu 01 019 00592 kimngan102@gmail.com 0912578489 none Y 1626913781 6,4,7 0 N N N 1 0 0 0 0 0 5095195 N N A Y Hoa hồng người bán renew-jeans 4.78 5