复杂的SQL连接查询

mTu*_*ran 0 mysql sql

我有两个表是用户之一:

id      int(11)     NO  PRI     NULL    auto_increment
membership_type     tinyint(3) unsigned     NO  MUL     NULL     
username    varchar(16)     NO      NULL     
password    char(40)    NO      NULL     
email   varchar(100)    NO      NULL     
firstname   varchar(40)     NO      NULL     
lastname    varchar(40)     NO      NULL     
company     varchar(120)    NO      NULL     
birthday    date    NO      NULL     
country     smallint(5) unsigned    NO      NULL     
city    smallint(5)     NO      NULL     
address     varchar(200)    NO      NULL     
landphone   char(10)    NO      NULL     
mobilephone     char(10)    NO      NULL     
website     varchar(150)    NO      NULL     
feedback_score  tinyint(4)  NO      NULL     
created     datetime    NO      NULL     
last_login  datetime    NO      NULL     
last_ip     varchar(15)     NO      NULL     
Run Code Online (Sandbox Code Playgroud)

另一个名字是user_cache:

user_id     int(11)     NO  MUL     NULL     
cache_type  int(50)     NO      NULL     
value   varchar(100)    NO      NULL     
Run Code Online (Sandbox Code Playgroud)

我想选择用户数据(成员资格,用户名,名字,姓氏等)并选择相关用户的缓存数据(从user_cache中选择*,其中user_id = X).我选择简单的SQL查询用户然后我使用另一个SQL查询获取缓存详细信息.我想将查询加入一个查询.这可能吗 ?

Jus*_*ner 5

select u.*, uc.*
from users as u
left join user_cache as uc
    on u.id = uc.user_id
Run Code Online (Sandbox Code Playgroud)

您将获得每行user_cache数据的所有用户信息,如果用户没有user_cache数据,那么您将获得user_cache数据的空值.