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;