mysql内连接、左连接、右连接举例说明

如下:

CREATE TABLE tb (
    id INT PRIMARY KEY, 
    NAME VARCHAR (20)
) ;
CREATE TABLE ta (
    id INT PRIMARY KEY,
    NAME VARCHAR(20),、
    tb_id INT
);
INSERT INTO tb VALUES(1,'财务部'),(2,'人事部'),(3,'科技部'),(4,'司法部'),(5,'行政部');
		
INSERT INTO ta VALUES (1,'刘备',1),(2,'关羽',2),(3,'张飞',3),(4,'张三',5),(5,'张七',6),(6,'张八',6),(7,'张九',6),(8,'张十',6);(9,'张十一',6);

#内连接:查询两张表中都有的关联数据,相当于利用条件从笛卡尔积结果中筛选出了正确的结果。
SELECT * FROM ta INNER JOIN tb ON ta.tb_id = tb.id;	
		
#内连接等同于
SELECT  * FROM ta,tb WHERE ta.`tb_id`=tb.`id`;
		
#右外连接:在内连接的基础上增加右边有左边没有的结果
SELECT * FROM ta RIGHT JOIN tb ON ta.tb_id = tb.id;
		
#左外连接:在内连接的基础上增加左边有右边没有的结果	
SELECT * FROM ta LEFT JOIN tb ON ta.tb_id = tb.id;

#全外连接:在内连接的基础上增加左边有右边没有的和右边有左边没有的结果
SELECT * FROM ta LEFT JOIN tb ON ta.tb_id = tb.id 
UNION
SELECT * FROM ta RIGHT JOIN tb ON ta.tb_id = tb.id;

  

posted @ 2018-02-27 14:48  xh_Blog  阅读(592)  评论(0编辑  收藏  举报