Here is a simple example:
var filter = new PredicateExpression(CustomerFields.Country == "UK");
var subFilter = new PredicateExpression(CustomerFileds.Country == "US");
subFilter.AddWithAnd(CustomerFileds.Type == "VIP");
filter.AddWithOr(subFilter);
The above would produce:
WHERE
Country = 'UK'
OR
(Country = 'US' AND Type = 'VIP')