No, you are not to repeat tags in the title unless it can't be ommitted for clarity. Example follows:
Error during create Oracle Schema: 4312563392934939394020192349502 1
body
tags: oracle oracle-schema
In this case we see that the tags1 are repeated in the question title, but if it merely read:
Error during create: 4312563392934939394020192349502
that would be ridiculous.
And this is just right out:
Oracle: Error during Create Schema: 4312563392934939394020192349502
If the title were:
Right join SQL query not returning what I need, are my complex-joins too complex?
body
tags: sql complex-join query
(to wit: query is a shitty tag, but we digress) then in this case the tags don't need to be in the title, or at least, not so redundantly:
Right join query not returning what I need, are my joins too complex?
See how we haven't lost anything by keeping the tags out of the title?
A little trivia for the curious: The SE Engine includes the tags in the page title and in the sargable parts of the page that crawlers take note of. Therefore, you don't need to include them repeatedly, but do include them for the sake of readability when the title would be useless without them.
Keep in mind that the SE team has already considered all the things you're asking about, and they've spent many many engineering hours ensuring that those features are already taken care of for you so you don't have to.
Apparently you're not in the business of searching google before asking on the Stack Exchange network, but as someone who does do that, I assure you, our google juice is quite high.
And to address an additional point that is likely not known to the general public, but which old stackhands will know:
The primary generation of visitors should be from search results, not from direct traffic. We anticipate that most people will have never heard of the Stack Exchange network and that we will only get new visitors from search engine traffic.
That's why the SE team optimizes for the search engines, even before you.
Therefore, your job is to write good questions, and to provide amazing answers, and to encourage others to do the same. And as a community, we should eliminate broken windows. There's enough new stuff to focus on without those.
Additionally, these are bad titles:
How do I write SQL?
How do I unstick my problem query from the queue?
How do I bandersnatch my gunthernozzle from the heebyjeeby?
and conversely these are good titles:
Tablestructure for fast inserts/deletes with foreign keys
Determining if indexes are redundant
Dynamic change to innodb_flush_log_at_trx_commit
1 I don't care how silly the example is, it works