mysql join用法简单对比

首先创建两个数据表,并添加数据
创建这两个表SQL语句如下:
CREATE TABLE a(
`aID` int( 1 ) AUTO_INCREMENT PRIMARY KEY ,
`aNum` char( 20 )
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;CREATE TABLE b(
`bID` int( 1 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`bName` char( 20 )
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;INSERT INTO a
VALUES ( 1, 'a1' ) , ( 2, 'a2' ) , ( 3, 'a3' ) , ( 4, 'a4' ) , ( 5, 'a5' ) ;

INSERT INTO b
VALUES ( 1, ' 2006032401' ) , ( 2, '2006032402' ) , ( 3, '2006032403' ) , ( 7, '2006032404' ) , ( 8, '2006032408' ) ; 

先来看看 left join 的查询结果

select * from a left join b on a.aID=b.bID

如图:               

看看 inner join

select * from a inner join b on a.aID=b.bID;

如图:            

最后看看 right join 的查询结果

select * from a right join b on a.aID=b.bID;

如图:         

 

也就是说left join 则连接左边表中所有记录都会出现,如果根据连接条件在 b表 中找不到相关记录,则显示为null。
right join 则显示右边表中的全部记录。inner join 则只有符合条件的记录才会出现在结果集中。


posted @ 2013-04-10 16:41  swinm  阅读(178)  评论(0)    收藏  举报