Further to the convenience of creating and selecting a view from the central register list to extract a CAML query, at times you may want to write your own query to take advantage of constructs not available via a view.
Where current user is in a single values Person/Groups column
<Where> <Eq> <FieldRef Name='Project_x0020_Manager'/> <Value Type='Integer'> <UserID Type='Integer'/> </Value> </Eq> </Where>
Where current user is a member of a groups that is listed in a person/groups column (that allows single or multiple values)
<Where> <Membership Type='CurrentUserGroups'> <FieldRef Name='Project_x0020_Team'/> </Membership> </Where>
Where current user may be named explicitly or may be a member of a group
listed in a person/groups column (that allows single or multiple values)
<Where> <Or> <Membership Type='CurrentUserGroups'> <FieldRef Name='Project_x0020_Team'/> </Membership> <Includes> <FieldRef Name='Project_x0020_Team'/> <Value Type='Integer'> <UserID Type='Integer'/> </Value> </Includes> </Or> </Where>
Where the Project Status (choice type) column has a status of
"Open"
AND
Where current user may be named explicitly or may be a member
of a group listed in the "Project Team" person/groups column (that allows single
or multiple values)
OR
Where current user is explicitly named in the
single value "Project Manager" Person/Groups column
<Where> <And> <Eq> <FieldRef Name='Project_x0020_Status' /> <Value Type='Choice'>Open</Value> </Eq> <Or> <Eq> <FieldRef Name='Project_x0020_Manager' /> <Value Type='Integer'> <UserID Type='Integer' /> </Value> </Eq> <Or> <Membership Type='CurrentUserGroups'> <FieldRef Name='Project_x0020_Team'/> </Membership> <Includes> <FieldRef Name='Project_x0020_Team'/> <Value Type='Integer'> <UserID Type='Integer'/> </Value> </Includes> </Or> </Or> </And> </Where>