Why don't you create a plugin as Scott says. Below logic may help you to get started with that.
Instead of adding a column to the user table, I would suggest to create a table user_category containing columns userid and default_categoryid than you may set userid as a primary key and set foreign key to the userid of the qa_users table using cascade.
Then you can use the event module in plugin to check if new user registered and assign a default category to the user by inserting row with value of userid and categoryid to the user_category table
With this you may not need to JOIN any table to get userid or categoryid since it is already in data. You may need to write few code to create new category (if needed) while checking the user register event.
Hope this will help you J