mysql left right inner cross join取出两表相关数据
来源:原创
时间:2016-04-05
作者:脚步小站
分类:DB
left join, right join, inner join ,cross join是有关取出两张表相关数据的语句,具体用法如下。
两张表,article 的uid 对应 user 表的 uid
create table article( id int unsigned not null auto_increment primary key, title char(200), content text, uid int )engine=MyISAM default charset=utf8; create table user( uid int unsigned not null auto_increment primary key, name varchar(200), email varchar(200) )engine=MyISAM default charset=utf8;
left join
首先看这条语句
SELECT article.id, article.title, user.name, user.email from article LEFT JOIN `user` ON article.uid = `user`.uid where article.id < 3;
这句sql的意思是查询出 article 表的id,title字段和user表的name,email字段,将user表的数据列在article表查出的字段中。
也就是说,以article表中的数据为基准来列出user表,不管user表中是否有对应数据。
right join
以右边的表为基准
inner join
取出两表的交集同 cross join