There is no tool that converts your report in to a convenient SOQL statement, at least not one I'm aware of. As an additional bonus, there are some objects which are not API accessible, meaning you cannot query them or interact with them in any way. These objects are far and few between, but they do exist.
For those you can convert in to SOQL, you simply need to figure out if the relationship is many-to-many or one-to-many. In other words, if you run a report on them, can both objects in the report appear multiple times? For example, if you run a report on Accounts with Contacts, you'll notice that accounts may appear multiple times, but each contact will appear only once. This is a one-to-many relationship. Conversely, if you run a Campaign Member report, you'd notice that Campaigns and Leads/Contacts can appear multiple times in the report; this is a many-to-many relationship.
For the first case, Accounts with Contacts, you simply need to know the connecting field, which happens to be AccountId. Standard relationships have their field end with "Id", and the relationship itself does not. So, you know you can write:
SELECT Name, AccountId, Account.Name FROM Contact
And you'll get the account's name through the Account relationship. If you're examining two objects, and you know it's a one-to-many relationship, you can build this in the Schema Builder, and it will tell you exactly how things are related. For example, here's my developer organization's Accounts and Contacts:
As you can see, by selecting Account and Contact in the Schema Builder, it shows some fields and also shows relationship lines: the terminal end with a single line is the "one" in a one-to-many relationship, and the terminal end with a circle and three lines is the "many" in a one-to-many relationship. The many side of a relationship actually connects to the field that represents this relationship. This diagram shows us three relationships: Account to Account, Contact to Account, and Contact to Contact.
So, if you do the same thing for Campaign and Opportunity, you'll get a similar diagram:
As you can see, we have Campaigns to Campaigns, and Opportunities to Campaigns. The diagram tells us that the CampaignId field on the opportunity is what gives us the Return Over Investment (ROI) reports. You can find the Schema Builder in Setup in the navigation menu.
Edit: To get the field's API name, you can also right click on it and choose "View Field in New Window" to see the API name.