纪录: INNER JOIN,LEFT JOIN 之解惑
2015-07-21 00:41
453 查看
Mysql Inner join,left join
做数据统计的时候,用到了inner join和left join,发现对这两个概念有些模糊,决定纪录之。TABLE
tbl_1id 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中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- 我是运营,我没有假期
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复
- MySQL 优化