sql中什么时候用内连接查询,什么时候用外连接查询?用起来好像一样啊
推荐回答
一、内连接select * from a left outer join b on a.name=b.name;此语句的结果为表a的所有项加表b与a相匹配的项,b中没有与a匹配的项时显示为nullselect * from a left outer join b on a.name=b.name where b.name is null;此语句的结果为表a的所有项除去两表的交集四、右外连接(rightouterjoinselect * from a right outer join b on a.name=b.name;此语句的结果为表a与表b匹配的项加表b的所有项,a中没有与b匹配的项时显示为nullselect * from a right outer join b on a.name=b.name where a.name is null;此语句的结果为表b的所有除去两表的交集。
龙学颖2019-12-22 00:11:27
提示您:回答为网友贡献,仅供参考。
其他回答
-
这两条语句结果是等效的,查询计划也是等效的其中第一条语句叫做笛卡尔积,省却了关键字crossjoinselect*fromtable1crossjointable2wheretable1.id=table2.id;就这点区别了。
连伟平2019-12-22 00:38:42
-
可以用左连接查询出未匹配的数据。原理是左连接时,将输出左表的所有记录,如果右表没有匹配的记录,则用null替代右表的字段值,这样在where子句里筛选出这些右表字段值为null记录,即可查询出未匹配的数据。请参考下列实例:查出没有参加课程号为"A01"考试的学生资料数据结构studentsid,snamescoresid,cid,gradeSQL语句select a.* from student a left join select distinct sid from score where cid=''A01'' b on a.sid=b.sid where b.sid is null。
连伟祥2019-12-22 00:22:30
-
假设在=''数学''自连接是指使用表的别名实现表与其自身连接的查询方法。
赵颖芬2019-12-22 00:02:05