SELECT 
  cscart_banners.banner_id, 
  cscart_banners.type, 
  cscart_banners.target, 
  cscart_banners.status, 
  cscart_banners.timestamp, 
  cscart_banner_descriptions.banner, 
  cscart_banner_descriptions.description, 
  cscart_banner_descriptions.url, 
  cscart_banner_images.banner_image_id 
FROM 
  cscart_banners 
  LEFT JOIN cscart_banner_descriptions ON cscart_banner_descriptions.banner_id = cscart_banners.banner_id 
  AND cscart_banner_descriptions.lang_code = 'ar' 
  LEFT JOIN cscart_banner_images ON cscart_banner_images.banner_id = cscart_banners.banner_id 
  AND cscart_banner_images.lang_code = 'ar' 
WHERE 
  1 
  AND (
    cscart_banners.type != 'G' 
    OR cscart_banner_images.banner_image_id IS NOT NULL
  ) 
  AND cscart_banners.banner_id IN (21, 24, 25) 
  AND cscart_banners.status = 'A' 
ORDER BY 
  cscart_banner_descriptions.banner asc

Query time 0.00110

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost": 0.013212699,
    "filesort": {
      "sort_key": "cscart_banner_descriptions.banner",
      "temporary_table": {
        "nested_loop": [
          {
            "table": {
              "table_name": "cscart_banners",
              "access_type": "range",
              "possible_keys": ["PRIMARY", "status"],
              "key": "PRIMARY",
              "key_length": "3",
              "used_key_parts": ["banner_id"],
              "loops": 1,
              "rows": 3,
              "cost": 0.00436909,
              "filtered": 100,
              "attached_condition": "cscart_banners.banner_id in (21,24,25) and cscart_banners.`status` = 'A'"
            }
          },
          {
            "table": {
              "table_name": "cscart_banner_descriptions",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY"],
              "key": "PRIMARY",
              "key_length": "9",
              "used_key_parts": ["banner_id", "lang_code"],
              "ref": ["u985510652_ecartify_dev.cscart_banners.banner_id", "const"],
              "loops": 3,
              "rows": 1,
              "cost": 0.00350252,
              "filtered": 100,
              "attached_condition": "trigcond(cscart_banner_descriptions.lang_code = 'ar')"
            }
          },
          {
            "table": {
              "table_name": "cscart_banner_images",
              "access_type": "eq_ref",
              "possible_keys": ["banner"],
              "key": "banner",
              "key_length": "9",
              "used_key_parts": ["banner_id", "lang_code"],
              "ref": ["u985510652_ecartify_dev.cscart_banners.banner_id", "const"],
              "loops": 3,
              "rows": 1,
              "cost": 0.003442415,
              "filtered": 100,
              "attached_condition": "trigcond(cscart_banners.`type` <> 'G' or cscart_banner_images.banner_image_id is not null) and trigcond(cscart_banner_images.lang_code = 'ar')",
              "using_index": true
            }
          }
        ]
      }
    }
  }
}

Result

banner_id type target status timestamp banner description url banner_image_id
21 T T A 1744700400 Acme Mobile index.php?dispatch=pages.view&page_id=25 54
25 T T A 1753772400 store banner 3 <div class="store-banner-3"> <div class="content-area"> <div class="text"><span>From</span> cart to customer <span>-Simplified</span> shipping logic</div> <a href="#">Explore Shipping Addons &#8594;</a> </div> </div>
24 T T A 1753772400 store-banner-2 <div class="store-banner-2"> <div class="content-area"> <div class="text"><span>Smooth</span> checkouts.<br><span>Secure</span> payments.<br><span>Seamless</span> growth.</div> <a href="#">View Payment Extensions &#8594;</a> </div> </div>