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

纪录: INNER JOIN,LEFT JOIN 之解惑

2015-07-21 00:41 453 查看

Mysql Inner join,left join

做数据统计的时候,用到了inner join和left join,发现对这两个概念有些模糊,决定纪录之。

TABLE

tbl_1

id name

1 allen

2 lewis

3 hellen

4 john

5 kerr

tbl_2

id age

1 11

2 13

3 14

INNER JOIN

inner join即等值链接

//inner join 类似于
select tbl_1.id,tbl_1.name from tbl_1,tbl_2 where tbl_1.id=tbl_2.id

//inner join 的写法
select tbl_1.id,tbl_1.name from tbl_1 inner join tbl_2 on tbl_1.id=tbl_2.id


以上sql语句的查询结果是一样的

left join

left join是已左表为基准。左表数据会全部显示出来,右表只显示符合搜索条件的数据,不足的部分以Null显示

//e.p
select * from tbl_1 left join tbl_2 on tbl_1.id=tbl_2.id


以上语句查出的结果

aid name bid age

1 allen 1 11

2 lewis 2 13

3 hellen 3 14

4 john null null

5 kerr null null

查询a表存在,但是b表不存在的

在语句中加入 b.id is null

select * from tbl_1 left join tbl_2 on a.id=b.id where b.id is NULL


条件语句on,where优先执行on 之后的条件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 数据