A very nice article on using Google to the Max: 

Whenever you search for more than one keyword at a time, a search engine has a default method of how to handle that keyword. Will the engine search for both keywords or for either keyword? The answer is called a Boolean default; search engines can default to Boolean AND (it'll search for both keywords) or Boolean OR (it'll search for either keyword). Of course, even if a search engine defaults to searching for both keywords (AND) you can usually give it a special command to instruct it to search for either keyword (OR). Google's Boolean default is AND; that means if you enter query words without modifiers, Google will search for all of them. If you search for:

XML Java "web Services"

Google will search for all the words. If you want to specify that either word is acceptable, you put an OR between each item:

XML OR Java OR "Web Services"

If you want to have definitely one term and one of two or more other terms, you group them with parentheses, like this:

XML (Java OR "Web Services")

This query searches for the word "Java" or phrase "Web Services" along with the word "XML." A stand-in for OR borrowed from the computer programming realm is the | (pipe) character, as in:

XML (Java | "Web Services")

If you want to specify that a query item must not appear in your results, use a -.(minus sign or dash).

XML Java -"Web Services"

Read full article: Google MyWay - How to search Google efficiently