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

Query time 0.07175

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 = 379"
          },
          "buffer_type": "flat",
          "buffer_size": "18Kb",
          "join_type": "BNL",
          "attached_condition": "trigcond(p.company_id = 379)"
        }
      },
      {
        "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
379 vi <p>I Have Been There ra đời với sứ mệnh mang đến cho người dùng món quà ý nghĩa từ những tấm thiệp nhỏ xinh được thiết kế độc quyền bởi những họa sĩ tài ba. Sản phẩm của I Have Been There lưu lại hình ảnh các khoảnh khắc hay câu chuyện đáng nhớ mà những người nghệ sĩ, hay có thể là chính bạn đã từng trải qua. Hình ảnh được vẽ kỹ thuật số, sau đó in trên chất liệu giấy mỹ thuật mịn tráng phủ cao cấp định lượng 260gsm, tạo cảm giác cầm chắc chắn, đầy chất lượng.</p> <p>Những nghệ sĩ tại đây có một khả năng kể chuyện tuyệt vời đến mức có thể khắc hoạ trọn vẹn cả ngữ cảnh và cảm xúc của câu chuyện trên bức tranh nhỏ. Khi nhìn vào từng tác phẩm của I Have Been There, từng hồi ức lại hiện lên như một giấc mơ vừa kịp biến mất khi tỉnh giấc.</p> <p>Chúng ta thường được bảo rằng hãy sống lý trí lên, nhưng tôn trọng và lắng nghe cảm xúc của chính mình cũng là sự thể hiện cho trưởng thành. Vậy, bạn sẽ lắng nghe những cảm xúc trong tim khi nhìn thấy những tấm thiệp từ I Have Been There, và trở thành một phiên bản tốt hơn trên con đường đi tìm chính mình chứ?</p> A I HAVE BEEN THERE I HAVE BEEN THERE 136 Lê Trọng Tấn, P. Khương Mai, Q. Thanh Xuân, Tp. Hà Nội 01 009 00352 ihavebeenthere22@gmail.com 079 6073589 none Y 1647476055 6,5,4,7 0 N N N 1 0 0 0 0 0 3876700 N N A Y Hoa hồng người bán i-have-been-there 5.00