一个新手对where和left join的疑惑
来源:互联网 发布:怎么区分linux版本 编辑:程序博客网 时间:2024/05/22 08:15
问题描述:在开发中 两个表进行关联有两种方式,一是通过select a.*,b.* from a,b where a.id=b.id 二是select a.*,b.* from a left join b on b.id.=a.id 对此表示疑惑这两者到底有什么区别?
开始探索:首先建立两个表a,b
a表
id type112233b表id type1441首先执行 SELECT A.*,B.* FROM A, B
结果:
idtypeid1type1111411412214224133143341对两表进行了笛卡尔积。然后加上where条件 SELECT A.*,B.* FROM A, B WHERE A.ID=B.ID
结果:
idtypeid1type11114对笛卡尔积的结果集进行了筛选进行左连接SELECT A.*,B.* FROM A LEFT JOIN B ON B.ID=A.ID
结果:
idtypeid1type1111422nullnull34nullnull对a表不做改变,将b表满足条件的记录插入到a表中总结:由于没有系统的sql学习,对这些基础的概念很模糊,自己动手试验一下就会对概念理解更加深刻。
多实践,多动手。
0 0
- 一个新手对where和left join的疑惑
- oracle--left join and 和left join where的区别
- oracle--left join and 和left join where的区别
- oracle--left join and 和left join where的区别
- oracle--left join and 和left join where的区别
- left join on 和 where
- join,left join and where的测试
- Oracle的left join中on和where的区别
- Oracle的left join中on和where的区别
- Oracle的left join中on和where的区别
- Oracle的left join中on和where的区别
- Oracle的left join中on和where的区别
- Oracle的left join中on和where的区别
- mysql left join的on和where的差异
- Oracle的left join中on和where的区别
- left join 中 where 和 on 的重新理解
- oracle中left join中on和where的区别
- left join on 和where条件的放置
- ubuntu安装R
- 全国青少年信息学(计算机)奥林匹克分区联赛竞赛大纲
- NFS挂载目录出现nobody解决方式
- CODEVS 2536 奖学金 (2013年省队选拔赛天津市队选拔赛)
- L版本通话记录里面显示的通话时长与实际不一致的问题
- 一个新手对where和left join的疑惑
- 排序算法:冒泡排序
- 机器学习---学习首页
- hdu5319 Painter(模拟)
- C# DataSet和DataTable详解(一)
- HDU2952 Counting Sheep (DFS)
- 国内较快的maven镜像
- LeetCode之Palindrome Linked List
- 硬编码