首先创建两个数据库表,用户表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。
   内连接是把匹配的关联数据显示出来;左连接是左边的表全部显示出来,右边的表显示出符合条件的数据;右连接正好相反。

最新文章

  1. 我所理解的ECMAScript、DOM、BOM---写给新手们
  2. Entity Framework 数据库初始化四种策略
  3. 后台运行程序screen or nohup
  4. linux下定时重启tomcat
  5. signtool
  6. 华为手机打开Logcat的方法
  7. java集合类总结二
  8. Js图片滚动
  9. SCVMM配置
  10. 使用XAMPP本地安装Wordpress博客
  11. iOS 进阶 第一天(0323)
  12. UWP开发小记
  13. CSS圆角样式
  14. asp.net 如何引用dll
  15. 7z命令行 极限压缩指令
  16. 网页设计(CSS&JS)
  17. 音乐类产品——“网易云音乐”app交互原型模板(免费使用)
  18. liunx系统问题总结
  19. HTML5的十大新特性
  20. 批量将某一目录下的.py文件改为.txt格式文件

热门文章

  1. MySQL 为什么不用分区表(转载)
  2. vigil rpm 包制作
  3. puppeteer 试用
  4. [Gradle] 解决高德 jar 包打包到 aar 后 jar 包中的 assets 内容丢失
  5. Linux 重启 PHP-FPM 命令
  6. javascript巧用注释保存html文本结构
  7. 洛谷P2744 量取牛奶
  8. Interesting Vertices
  9. 如果要对img里面的值做特殊处理,可以直接写方法
  10. 超级简单的tab点击