SELECT 
  p.*, 
  d.*, 
  images.promotion_image_id 
FROM 
  jmj_promotions as p 
  LEFT JOIN jmj_promotion_descriptions as d ON p.promotion_id = d.promotion_id 
  AND d.lang_code = 'en' 
  LEFT JOIN jmj_promotion_images AS images ON images.promotion_id = p.promotion_id 
  AND images.lang_code = 'en' 
WHERE 
  p.promotion_id = 3

Query time 0.00080

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "1.00"
    },
    "nested_loop": [
      {
        "table": {
          "table_name": "images",
          "access_type": "system",
          "possible_keys": [
            "promo"
          ],
          "rows_examined_per_scan": 0,
          "rows_produced_per_join": 1,
          "filtered": "0.00",
          "const_row_not_found": true,
          "cost_info": {
            "read_cost": "0.00",
            "eval_cost": "0.20",
            "prefix_cost": "0.00",
            "data_read_per_join": "16"
          },
          "used_columns": [
            "promotion_image_id",
            "promotion_id",
            "lang_code"
          ]
        }
      },
      {
        "table": {
          "table_name": "p",
          "access_type": "const",
          "possible_keys": [
            "PRIMARY"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "promotion_id"
          ],
          "key_length": "3",
          "ref": [
            "const"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 1,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "0.00",
            "eval_cost": "0.20",
            "prefix_cost": "0.00",
            "data_read_per_join": "80"
          },
          "used_columns": [
            "promotion_id",
            "company_id",
            "conditions",
            "bonuses",
            "to_date",
            "from_date",
            "priority",
            "stop",
            "stop_other_rules",
            "zone",
            "conditions_hash",
            "status",
            "number_of_usages",
            "users_conditions_hash"
          ]
        }
      },
      {
        "table": {
          "table_name": "d",
          "access_type": "const",
          "possible_keys": [
            "PRIMARY"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "promotion_id",
            "lang_code"
          ],
          "key_length": "9",
          "ref": [
            "const",
            "const"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 1,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "0.00",
            "eval_cost": "0.20",
            "prefix_cost": "0.00",
            "data_read_per_join": "800"
          },
          "used_columns": [
            "promotion_id",
            "name",
            "short_description",
            "detailed_description",
            "lang_code"
          ]
        }
      }
    ]
  }
}

Result

promotion_id company_id conditions bonuses to_date from_date priority stop stop_other_rules zone conditions_hash status number_of_usages users_conditions_hash name short_description detailed_description lang_code promotion_image_id
3 0 a:3:{s:3:"set";s:3:"all";s:9:"set_value";s:1:"1";s:10:"conditions";a:1:{i:1;a:3:{s:8:"operator";s:2:"in";s:9:"condition";s:8:"products";s:5:"value";s:39:"796,814,811,812,836,837,868,869,940,941";}}} a:1:{i:1;a:3:{s:5:"bonus";s:16:"product_discount";s:14:"discount_bonus";s:13:"by_percentage";s:14:"discount_value";s:2:"10";}} 1838140199 1704047400 0 N N catalog products=796,814,811,812,836,837,868,869,940,941 A 12 Up to 10% Off summer styles for men + additional 10% off when you join loyalty <p></p> <p>Offer valid on select styles through 01/01/2024 or while supplies last.</p> <p></p> <p></p> <p>Offer valid on select styles through 01/01/2024 or while supplies last. In-store products may vary and may differ from online. No adjustments on prior purchases. May not be redeemed for cash or cash equivalent and is not transferable. Valid in the India only.</p> en