One of the easier ways of creating CAML query is by creating the required view and then creating Query from it.
CAML Viewer makes it even more simpler. CAML Viewer lets you view CAML query for Views and it also shows internal names for all fields.
I developed this using SharePoint client object model and you can download the source code from here.
I am planning to add more features soon. If you have a suggestion or comment, please add it to the Discussion page.