This is where the proverbial doody hits the fan in MySQL.
What you have are two or more tables that contain the same type of data,
but that are in no way related to eachother.
None of the records in the first table have any relation to the records in the other tables (through Primary key of foreign keys), so you can't simply JOIN the tables.
A JOIN without a relation would give a cartesian product (nnn*... rows, if you have 300 rows in the first table, and 300 in the second, the result would be 90k rows where you really only want 600. This number grows very quickly and it can make your database do 'the lemming thing')
In MySQL the only solution I see in (and I didn't bother to spend much time finding one) is to query each table seperately.
The thing is, using many smaller tables means that you have to have some 'intelligent' routine in your application that works out where a record may be found, and where new records are supposed to be stored.
eg: records for users with userid 1-100 into table 1, usersids 101-200 into table 2 etc. That could be used in reverse to query data for userid 203 in table 3 only.
But still, if you want info about all your users, you'll have to query all tables seperately and process the output.
In 'real' RDBMS's there's the UNION operator, which lets you run several queries at the same time, and present the output as one big resultset (as opposed to MySQL's many small resultsets). Not much of an improvement speedwise, but easier to work with.
In short: don't split up your tables just to make the tables smaller.