您的位置:首页 > 数据库

sql中 join 、left join、right join 的区别

2015-10-29 11:31 363 查看
1、join (等值连接):只返回两个表中联结字段相等的行;

eg: 表user_one 、user_two表

user_one 表 user_two表

id name id realname

1 张三 1 张张

2 李四 2 李李

4 赵五 3 胡胡

join sql:

select * fromuser_one AS userone JOIN user_two AS
usertwo ON
userone .id =
usertwo .id;

--------------------------------

返回

--------------------------------

id name id realname

1 张三 1 张张

2 李四 2 李李

2、left join (左联接)
:返回包括左表中的所有记录和右表中联结字段相等的记录;

eg:

left join sql:

select * from user_one AS userone LEFT JOIN user_two AS usertwo ON userone .id = usertwo .id;

--------------------------------

返回

--------------------------------

id name id realname

1 张三 1 张张

2 李四 2 李李

4 赵五 NULL NULL

3、right
join (右联接):返回包括右表中的所有记录和左表中联结字段相等的记录;

eg:

right join sql:

select * from user_one AS userone RIGHT JOIN user_two AS usertwo ON userone .id = usertwo .id;

--------------------------------

返回

--------------------------------

id name id realname

1 张三 1 张张

2 李四 2 李李

NULL NULL
3 胡胡
4、如果想查询出来的语句没有重复的 ,可以使用distinct来排重复
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: