One of the most common, versatile, and useful ways to implement Dynamic SQL is when performing complex searches. Consider your favorite web sites and the search functionality provided in each. For some, the search may be simple: You go to the single text box in the top-right corner, enter some text, and get your results. Other searches—such as searching for a hotel, flight, or car rental—can involve dozens (or more) of optional parameters. Dynamic SQL can allow you to pare down your search queries in order to only process what is needed. In addition, you can greatly customize the search, as well as the data returned. You can even analyze the input to determine the correct course of action, based on its structure.