您的位置:首页 > 数据库 > MySQL

Mysql 的左连接与右连接区别

2015-09-09 00:14 686 查看

1.SQL LEFT JOIN 关键字

LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

2.SQL RIGHT JOIN 关键字

RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。

3.在Mysql中的DevDB中创建两个表

Create Table department
CREATE TABLE `department` (

`ID` int(11) NOT NULL AUTO_INCREMENT,

`CODE` varchar(100) DEFAULT NULL,

`NAME` varchar(200) DEFAULT NULL,

PRIMARY KEY (`ID`)

) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
Create Table job
CREATE TABLE `job` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`FirstName` varchar(32) DEFAULT NULL,

`LastName` varchar(32) DEFAULT NULL,

`LoginName` varchar(32) DEFAULT NULL,

`dep_id` int(11) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8

4.在department表和Job表中插入数据

?
?


department表数据

IDCODENAME
1Java R&DJava R&D
2Mysql R&DMysql R&D
3Interface R&DInterface R&D
4Android R&DAndroid R&D
5IOS R&DIOS R&D


Job表数据

idFirstNameLastNameLoginNamedep_id
1PeterQiuQiu1
2TomLeeLee2
3GarfieldWangWang3
4哆啦A梦JoneJone(NULL)
5Westlife西城男孩Westlife8

5.以Job表进行左连接(left join)

?
查出来的数据
idFirstNameLastNameLoginNamedep_idIDCODENAME
1PeterQiuQiu11Java R&DJava R&D
2TomLeeLee22Mysql R&DMysql R&D
3GarfieldWangWang33Interface R&DInterface R&D
4哆啦A梦JoneJone(NULL)(NULL)(NULL)(NULL)
5Westlife西城男孩Westlife8(NULL)(NULL)(NULL)

6.以Job表进行右连接(right join)

?
查出来的数据
idFirstNameLastNameLoginNamedep_idIDCODENAME
1PeterQiuQiu11Java R&DJava R&D
2TomLeeLee22Mysql R&DMysql R&D
3GarfieldWangWang33Interface R&DInterface R&D
(NULL)(NULL)(NULL)(NULL)(NULL)4Android R&DAndroid R&D
(NULL)(NULL)(NULL)(NULL)(NULL)5IOS R&DIOS R&D

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: