社区
数据库(包含打印,安装,报表)
帖子详情
初级问题:INNER JOIN vs WHERE
of123
2004-09-03 11:32:05
下列语句有什么不同?
SELECT * FROM table1, table2 WHERE table1.id = table2.id
SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id
...全文
140
12
打赏
收藏
初级问题:INNER JOIN vs WHERE
下列语句有什么不同? SELECT * FROM table1, table2 WHERE table1.id = table2.id SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wumylove1234
2004-09-03
打赏
举报
回复
2个语句的效果是一样的,但是显现的过程不同,第一个是先把2个表作笛卡儿挤处理,然后按照where的条件抽出满足条件的记录,而第二个没有进行笛卡尔基处理
这位朋友好像说反了.
使用Join的语句是作笛卡尔积操作,但不是完全的关联,是根据Where条件关条的.
根据我的理解.使用where A.ID=B.ID
的方法,在A表中顺序查找,然后取出A.ID,到B表中按照索引去找B.ID,找到则提取记录到内存.
而Inner Join的,我的理解是,呵,如果单纯的就是像你上边的一个条件的话,我认为道理是一样的.但是如果表比较多的话,我认为Join能提高性能!
starsoulxp
2004-09-03
打赏
举报
回复
顶
renjunjun
2004-09-03
打赏
举报
回复
一看你两星就知道问题不简单了
在实际中,应该是第二个效率高一些,因为它使用两个关键字来连接两表,而不象第一个采用Where进行条件查询
而且,第二条可以采用左联或右联来轻松实现更复杂的查询要求,语法上显得更直观,不需要设计很复杂的Where条件.
bladeinside
2004-09-03
打赏
举报
回复
看看
RUKYO
2004-09-03
打赏
举报
回复
不知道哪个效率高些?是第二吗?
RUKYO
2004-09-03
打赏
举报
回复
效果是一样的。
第一条是先取所有值再根据各自id是否相同来排他。
第二条是根据各自id产生的交集来联结两表
apple1980
2004-09-03
打赏
举报
回复
Inner Join
Inner Join 逻辑运算符返回满足第一个(顶端)输入与第二个(底端)输入联接的每一行。
内联接是用比较运算符比较要联接列的值的联接。
是不是,两SQL语句,内部查找的方法不一样呀?
第一个,是分别读取两个表进来
haohaohappy
2004-09-03
打赏
举报
回复
SELECT * FROM table1, table2 WHERE table1.id = table2.id
返回table1,table2中ID相同的记录集
SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id
表示是内部联合,这种联合没有where语句。在这里你使用的语法中的JOIN ON 不是ANSI 标准中所指定的,而是我们所使用的解释器的附加语法.
表示把table1,table2中ID相同的记录进行了组合.
希望对你有帮助。
lele2002
2004-09-03
打赏
举报
回复
2个语句的效果是一样的,但是显现的过程不同,第一个是先把2个表作笛卡儿挤处理,然后按照where的条件抽出满足条件的记录,而第二个没有进行笛卡尔基处理
LGYAN
2004-09-03
打赏
举报
回复
第一句是找出table1和table2的ID相同的记录。
LGYAN
2004-09-03
打赏
举报
回复
那我也来抢一抢
of123
2004-09-03
打赏
举报
回复
呵呵,如果星期一还没有人回复,100分就是你的了。
精品课:MySQL5.7零基础入门与实战(精讲)
第一章:MySQL 零基础入门详解01- MySQL导学课第二章 学习MySQL 环境准备工作00- MySQL 前生今世01- VMware 安装与配置02- VMware 安装CentOS 703- 安装 XShell04-CentOS 7 环境安装MySQL 5.705- Windows 2016环境安装MySQL 5.706- SQLyog 连接MySQL第三章 MySQL入门操作01-mysql对库的入门操作02-mysql对表的入门操作03-insert 入门详解04-delete 入门详解05-update入门详解06-select 入门详解07-总结第四章 MySQL进阶实战00-二进制与阴阳八卦的关系(选听)01-MySQL数据类型(整形)02- MySQL数据类型(浮点型,定点型)03-MySQL数据类型(字符型)04- MySQL数据类型(日期型)05- 约束类型06- 清朝四库全书引入数据库的概念(选听)07- 条件查询--运算符08- 数据联合union & union all09-数据排序 order by10-小节 in,or,union11-统计函数 count12- 统计函数 sum,avg13- 统计函数max,min14- 排重 distinct15- 数据分组 group by&having16- 分页limit17- 字符串函数18-日期函数19- 数学函数20- 控制流函数21-其他函数22- 笛卡尔积(cross
join
)23-自然连接(natural
join
)24- 自连接25- 内连接 (
inner
join
)26- 外连接(left,right
join
)27- 相关、不相关子查询28- 子查询 all,any29- 子查询exists not exists30- 索引31- 视图32- 存储过程33-自定义函数34- 数据备份和还原
【SQL开发实战技巧】系列(五):从执行计划看IN、EXISTS 和
INNER
JOIN
效率,我们要分场景不要死记网上结论
从执行计划角度分析IN、EXISTS 和
INNER
JOIN
效率而不是死记网上结论、表的5种关联:
INNER
JOIN
、LEFT
JOIN
、RIGHT
JOIN
和 FULL
JOIN
解析【SQL开发实战技巧】这一系列博主当作复习旧知识来进行写作,毕竟SQL开发在数据分析场景非常重要且基础,面试也会经常问SQL开发和调优经验,相信当我写完这一系列文章,也能再有所收获,未来面对SQL面试也能游刃有余~。
【SQL开发实战技巧】系列(六):从执行计划看NOT IN、NOT EXISTS 和 LEFT
JOIN
效率,记住内外关联条件不要乱放
从执行计划看NOT IN、NOT EXISTS 和 LEFT
JOIN
效率,还是那就话,别死记网上结论、在使用内外关联时,特别是简写方式时记住关联条件不要乱放!【SQL开发实战技巧】这一系列博主当作复习旧知识来进行写作,毕竟SQL开发在数据分析场景非常重要且基础,面试也会经常问SQL开发和调优经验,相信当我写完这一系列文章,也能再有所收获,未来面对SQL面试也能游刃有余~。
【SQL
初级
学习 SELECT容易忘记的要点 &
JOIN
& Union/Union all 操作】
SQL
初级
学习几类常见
问题
几个容易忘记的要点 合并表单 一、几个容易忘记的要点 使用where进行条件筛选;但是如果使用了group by 就只能用 having 进行筛选 As的用法,SELECT 里面 用as , From 里面不能用 as, 直接跟重命名的名称即可 Typical expression, function and wildcards 是否为空 IS NULL 是否相等 =(相等) / !=(不等) 返回查询选择的不为空的行数/返回查询的所有行 CO
数据库
join
方式分析
前言 不管是博客园还是CSDN,看到很多朋友对数据库的理解、认识还是没有突破一个瓶颈 ,而这个瓶颈往往只是一层窗纸,越过了你将看到一个新世界。 04、05年做项目的时候,用SQL Server 2000,核心表(大部分使用频繁的关键功能每 次都要用到)达到了800万数据量,很早以前查过一些相关表,有的达到了3000多万,磁 盘使用的光纤盘,100G空间,每周必须备份转移数据,否则...
数据库(包含打印,安装,报表)
1,216
社区成员
55,954
社区内容
发帖
与我相关
我的任务
数据库(包含打印,安装,报表)
VB 数据库(包含打印,安装,报表)
复制链接
扫一扫
分享
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章