input: Write a python function to query customer names containing a given substring using a wildcard search.
  assert query_customer_name('John')==[{'customer_id': 1, 'customer_name': 'John Doe'}, {'customer_id': 2, 'customer_name': 'Johnny Appleseed'}]
  assert query_customer_name('Jane')==[{'customer_id': 3, 'customer_name': 'Jane Smith'}, {'customer_id': 4, 'customer_name': 'Janet Doe'}]
  assert query_customer_name('Alex')==[{'customer_id': 5, 'customer_name': 'Alexander Hamilton'}, {'customer_id': 6, 'customer_name': 'Alex Johnson'}]
output: def query_customer_name(substring):
      customers = [
          {'customer_id': 1, 'customer_name': 'John Doe'},
          {'customer_id': 2, 'customer_name': 'Johnny Appleseed'},
          {'customer_id': 3, 'customer_name': 'Jane Smith'},
          {'customer_id': 4, 'customer_name': 'Janet Doe'},
          {'customer_id': 5, 'customer_name': 'Alexander Hamilton'},
          {'customer_id': 6, 'customer_name': 'Alex Johnson'},
      ]
      
      return [customer for customer in customers if substring.lower() in customer['customer_name'].lower()]