SELECT 
  a.*, 
  b.description 
FROM 
  cscart_currencies as a 
  LEFT JOIN cscart_currency_descriptions as b ON a.currency_id = b.currency_id 
  AND lang_code = 'en' 
  LEFT JOIN cscart_storefronts_currencies AS storefronts_currencies ON storefronts_currencies.currency_id = a.currency_id 
WHERE 
  1 
  AND a.status IN ('A', 'H') 
  AND (
    storefronts_currencies.storefront_id IN (1) 
    OR storefronts_currencies.storefront_id IS NULL
  ) 
ORDER BY 
  a.position

Query time 0.00516

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost": 0.035484409,
    "filesort": {
      "sort_key": "a.position",
      "temporary_table": {
        "nested_loop": [
          {
            "table": {
              "table_name": "a",
              "access_type": "ALL",
              "loops": 1,
              "rows": 3,
              "cost": 0.0113438,
              "filtered": 100,
              "attached_condition": "a.`status` in ('A','H')"
            }
          },
          {
            "table": {
              "table_name": "b",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY"],
              "key": "PRIMARY",
              "key_length": "9",
              "used_key_parts": ["currency_id", "lang_code"],
              "ref": ["lvshop.a.currency_id", "const"],
              "loops": 3,
              "rows": 1,
              "cost": 0.00350252,
              "filtered": 100,
              "attached_condition": "trigcond(b.lang_code = 'en')"
            }
          },
          {
            "block-nl-join": {
              "table": {
                "table_name": "storefronts_currencies",
                "access_type": "index",
                "key": "idx_storefront_id",
                "key_length": "4",
                "used_key_parts": ["storefront_id"],
                "loops": 3,
                "rows": 1,
                "cost": 0.018739415,
                "filtered": 100,
                "using_index": true
              },
              "buffer_type": "flat",
              "buffer_size": "63Kb",
              "join_type": "BNL",
              "attached_condition": "trigcond(storefronts_currencies.storefront_id = 1 or storefronts_currencies.storefront_id is null) and trigcond(storefronts_currencies.currency_id = a.currency_id)"
            }
          }
        ]
      }
    }
  }
}

Result

currency_id currency_code after symbol coefficient is_primary position decimals_separator thousands_separator decimals status description
1 USD N $ 1.00000 Y 10 . , 2 A US Dollars
2 EUR N 1.28000 N 20 . , 2 A Euro
3 GBP N £ 1.88000 N 30 . , 2 A GB Pound