Many DB queries and conditions
As suggested by @911992, why not moving that &quot;logic&quot; into the database. Not as a function/stored-procedure/view but as a combination of all your queries :
SELECT * FROM items WHERE name=? AND country_code=? AND currencyCode=?
UNION
SELECT * FROM items WHERE name=? AND country_code='US' AND currencyCode=?
UNION
SELECT * FROM items WHERE name=? AND country_code=? AND currencyCode='USD'
UNION
SELECT * FROM items WHERE name=? AND country_code=?    
UNION
SELECT * FROM items WHERE name=? AND currencyCode=?

You can limit that query to one row to avoid too much results.
If want to keep everything into the code and are looking for a design pattern, you can search for the chain of responsibility.