关于MySQL的内连接,外连接的总结
首先创建两个数据库表,用户表u,账户表a
先看一下数据库表:
u表:
a表:
1. 内连接。
关键字:inner join
SQL语句: select u.*,a.ID as aid,a.money from u INNER JOIN a ON u.id=a.uid;
结果:
* 只输出匹配的数据,即u表id与a表uid相同的数据,相当于 “select u.*,a.ID as aid,a.money from u,a where u.id=a.uid;”,结果是一样的。
2.外连接。左向外连接、右向外连接
(1)左向外连接(左连接)
关键字: LEFT JOIN或LEFT OUTER JOIN
SQL语句:select u.*,a.ID as aid,a.money from u LEFT JOIN a ON u.id=a.uid;
结果:
*左向外连接的结果集包括 LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果u表的某行在a表中没有匹配行,则在相关联的结果集行中a表的所有选择列表列均为空值。(为了理解这里给出结果一样的右连接查询:“select u.*,a.ID as aid,a.money from a RIGHT JOIN u ON u.id=a.uid;”)
(2)右向外连接(右连接)
关键字:RIGHT JOIN 或 RIGHT OUTER JOIN
SQL语句: select u.*,a.ID as aid,a.money from u RIGHT JOIN a ON u.id=a.uid;;
结果:
*右向外联接是左向外联接的反向联接。将返回b表的所有行,如果b表的某行在左表中没有匹配行,则将为a表返回空值。
总结:
内连接,左连接,右连接的区别是什么?
① 内连接关键字:inner join;
② 左连接:left join;
③ 右连接:right join。
内连接是把匹配的关联数据显示出来;左连接是左边的表全部显示出来,右边的表显示出符合条件的数据;右连接正好相反。
最新文章
- 我所理解的ECMAScript、DOM、BOM---写给新手们
- Entity Framework 数据库初始化四种策略
- 后台运行程序screen or nohup
- linux下定时重启tomcat
- signtool
- 华为手机打开Logcat的方法
- java集合类总结二
- Js图片滚动
- SCVMM配置
- 使用XAMPP本地安装Wordpress博客
- iOS 进阶 第一天(0323)
- UWP开发小记
- CSS圆角样式
- asp.net 如何引用dll
- 7z命令行 极限压缩指令
- 网页设计(CSS&;JS)
- 音乐类产品——“网易云音乐”app交互原型模板(免费使用)
- liunx系统问题总结
- HTML5的十大新特性
- 批量将某一目录下的.py文件改为.txt格式文件