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

Query time 0.03638

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": 25286,
            "filtered": 100,
            "attached_condition": "p.company_id = 264"
          },
          "buffer_type": "flat",
          "buffer_size": "18Kb",
          "join_type": "BNL",
          "attached_condition": "trigcond(p.company_id = 264)"
        }
      },
      {
        "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
264 vi <p>Thị trường chăn ga gối những năm 2015 khá ảm đạm, chưa có nhiều mẫu mã, chất liệu và thiết kế đa dạng như hiện nay. Việc lựa chọn bộ chăn ga ưng ý với giá thành phải chăng thực sự là thách thức không nhỏ đối với đa số người tiêu dùng. Và Phương - founder của Goûttobed cũng không phải ngoại lệ. Lúc đó, cô đang là luật sư và vừa mới sinh con. Cô mong muốn tìm kiếm bộ chăn ga gối phù hợp, đảm bảo cho em bé và bản thân có giấc ngủ ngon, cũng như an toàn với sức khỏe.</p> <p>Từ chính trải nghiệm và trăn trở này, cùng lợi thế truyền thống gia đình làm ngành may mặc, Phương đã nảy ra ý tưởng, tìm kiếm chất liệu và tự may những bộ chăn ga gối cho gia đình. Từ đây, Goûttobed - thương hiệu may đo chăn ga cao cấp đã ra đời.</p> <p>Đối với Goûttobed, giá trị thật sự mà một bộ chăn ga gối mang lại không đơn thuần chỉ nằm ở vẻ bề ngoài. Đó còn là yếu tố giúp chúng ta có được giấc ngủ sâu nhằm cải thiện và nâng cao đời sống tinh thần lẫn thể chất.</p> <p>Đây cũng là kim chỉ nam mà thương hiệu theo đuổi trong suốt những năm qua. Thay vì tập trung đa dạng hóa sản phẩm, Goûttobed dành phần lớn sức lực để tập trung phát triển, cải thiện chất lượng của sản phẩm, mang lại sự thoải mái tối đa trong từng giấc ngủ.</p> <p>Chúng ta dành 1/3 cuộc đời trên chiếc giường, vì thế hãy nâng niu từng giấc ngủ của bạn.</p> A Goûttobed Goûttobed 2/7 Nguyễn Thành Ý, Da Kao, Quận 1, Thành phố Hồ Chí Minh, Vietnam 79 760 26737 gouttobed@gmail.com 0911234980 none Y 1635723949 6,4,5 0 N N N 1 0 0 0 0 0 3737505 N N A Y Hoa hồng người bán gouttobed 5.00 7