select * from a,b与select * from a inner join b 的取数方式和执行效率有什么不同,
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 14:02:27
![select * from a,b与select * from a inner join b 的取数方式和执行效率有什么不同,](/uploads/image/z/9616581-45-1.jpg?t=select+%2A+from+a%2Cb%E4%B8%8Eselect+%2A+from+a+inner+join+b+%E7%9A%84%E5%8F%96%E6%95%B0%E6%96%B9%E5%BC%8F%E5%92%8C%E6%89%A7%E8%A1%8C%E6%95%88%E7%8E%87%E6%9C%89%E4%BB%80%E4%B9%88%E4%B8%8D%E5%90%8C%2C)
select * from a,b与select * from a inner join b 的取数方式和执行效率有什么不同,
select * from a,b与select * from a inner join b 的取数方式和执行效率有什么不同,
select * from a,b与select * from a inner join b 的取数方式和执行效率有什么不同,
(1)连接
select * from table1,table2
等价于
select * from table1 cross join table2
select * from table1,table2 where table1.row=table2.row
(2)自连接
select * from emploly e1 ,emploly e2
select e1.name,e2.name from employ e1,employ e2
where e1.name=e2.name
(3)内连接(inner join)
select stuname as '姓名',classname as '班级' from student inner join class on student.stuid=class.stuid
inner join '表名' on 条件 --连接多个表
它等价于:
select stuname as '姓名',classname as '班级'
from student,class
where student.stuid=class.stuid
(4)外连接:(outer join)
允许限制一张表中的行,而不限制另外一张表中的行.
注意:外连接不一定非要有外键约束
1: left outer join --不能用left out join
左表中的记录全部会出现在结果集中,匹配不上的显示NULL
2: right outer join
右表中的记录全部会出现在结果集中,匹配不上的显示NULL
3: full outer join|full join --不能用full out join
返回两个表中的匹配和不匹配的所有记录.