про город:
есть 2 таблицы - country, okrug
CREATE TABLE country (
   country_id smallint(6) DEFAULT \'0\' NOT NULL,
   country_name varchar(60) NOT NULL,
   PRIMARY KEY (country_id)
);
CREATE TABLE okrug (
   okrug_id smallint(6) DEFAULT \'0\' NOT NULL,
   okrug_name varchar(60) NOT NULL,
   okrug_country_id smallint(6) DEFAULT \'0\' NOT NULL,
   PRIMARY KEY (okrug_id)
);
okrug.okrug_country_id = country.country_id
для некоторых стран у меня городов нету, что здесь непонятного?
у меня 234 страны, я с ума сойду для каждой город искать....
основные страны у меня имеют города, а непосредственные - нет.
а без джоина никак...... ибо мне надо показывать город юзера, а 
запрос выдает циферку, вот я и заменяю эту циферку городом, при 
наличии такового, конечно.