When trying to query for data on other, related records (usually on a different SObject but you can have a lookup relationship between records of the same SObject), you need to change the __c of the relationship field to __r.
E.g.
SELECT Id, Name, CreatedDate, Special_Owner__r.Name FROM Opportunity
That's true for any custom relationship field.
For standard relationship fields, the API name is usually of the form <object name>Id. E.g. OpportunityId on OpportunityLineItem, OwnerId on nearly all SObjects, etc...
For those, you'd just drop the "Id" part.
SELECT Id, Name, Opportunity.Name, Opportunity.StageName FROM OpportunityLineItem
Do note that this is specific to child -> parent queries, i.e. traversing upwards in the relationship hierarchy. Querying downwards in the hierarchy (parent -> children) also needs you to use __r, but there's a bit more to it and that doesn't seem to be relevant to this particular question.
More detailed/thorough information can be found in the Relationship Queries section of the SOQL/SOSL Reference.
__cinstead of__rwhen you are trying to reference data on a related object. I.e. you should be usingMy_Relationship_Field__r.Related_Field__c.