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来排重复