SQl中的左连接,右连接,内连接,全连接,自连接的理解。

SQl中的左连接,右连接,内连接,全连接,自连接的理解。

    按照自己的理解做个笔记,以下在Sql Server2005和Oracle92中都运行通过:

create table a(
   aid varchar(2),
   aname varchar(10),
   bid varchar(2) );

create table b(
   bid varchar(2),
   bname varchar(10));

insert into a values(‘s1′,’sname1′,’c1’);
insert into a values(‘s2′,’sname2′,’c2’);
insert into a values(‘s3′,’sname3′,’c3’);
insert into a values(‘s4′,’sname4′,’c4’);
insert into a values(‘s5′,’sname5′,’c5’);

insert into b values(‘c1′,’cname1’);
insert into b values(‘c2′,’cname2’);
insert into b values(‘c3′,’cname3’);
insert into b values(‘c6′,’cname6’);
insert into b values(‘c7′,’cname7’);

–Iner Join和Join和, (如select * from a,b where a.id=b.id),这三个效果一样.

select * from  a ,  b where  a.bid = b.bid;
select * from a join b on a.bid = b.bid;
select * from a inner join b on a.bid = b.bid;

SQl中的左连接,右连接,内连接,全连接,自连接的理解。

 

 

 

–Left Join和Left Outer Join 左连接、左外连接,效果一样。
select * from a left join b on a.bid = b.bid;
select * from a left outer join b on a.bid = b.bid;

 

SQl中的左连接,右连接,内连接,全连接,自连接的理解。 

 

 

 

–Right Join和Right Outer Join 右连接、右外连接,效果一样。

select * from a right join b on a.bid = b.bid;
select * from a right outer join b on a.bid = b.bid;

 

 

SQl中的左连接,右连接,内连接,全连接,自连接的理解。 

 

 

 

–Full Join和Full Outer Join 全连接、全外连接,效果一样。

select * from a full join b on a.bid = b.bid;
select * from  a full outer join  b on a.bid = b.bid;

 

SQl中的左连接,右连接,内连接,全连接,自连接的理解。 

 

 

–Cross Join,不带where,即笛卡尔积。

select * from a  Cross join b;

 

SQl中的左连接,右连接,内连接,全连接,自连接的理解。 

 

 

总结:只有以上的的连接词,像什么Left Inner Join、Right Full Join之类的组合都没有,想都别想!! 

转载于:https://www.cnblogs.com/ouc3www/archive/2009/02/20/1394627.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110941.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Oracle与Sql Server复制表结构和数据

    Oracle与Sql Server复制表结构和数据

    2022年1月10日
    53
  • Java开发SDK详解->SDK开发

    Java开发SDK详解->SDK开发一、前言前面已经将服务端开发好了(服务端开发),现在我们来开发SDK吧。二、详情2.1创建项目创建一个普通的maven项目maven—-》jdk选择1.8—–》next输入groupId和artifactId输入项目名称,和项目存放位置2.2开发代码先看看项目的整体结构2.2.1pom文件依赖的jar包<dependencies><!–json相关–><dependency>&l

    2022年7月8日
    213
  • html获取表单提交数据_提交表单的两种方法

    html获取表单提交数据_提交表单的两种方法转载于:https://blog.csdn.net/yongwoozzang/article/details/83029128HttpURLConnectionx-www-form-urlencodedpublicstaticStringPost(StringhttpUrl,Stringdata){ PrintWriterout=null; InputStr…

    2022年10月6日
    4
  • HDU-1387-Team Queue

    HDU-1387-Team Queue

    2022年1月5日
    47
  • 使用nodejs进行微信公众号网页开发(一)验证服务器「建议收藏」

    使用nodejs进行微信公众号网页开发(一)验证服务器「建议收藏」微信公众号网页开发(一)验证服务器前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言微信公众号网页开发第一步是验证服务器这一步是必不可少的。我是用的是liunx系统搭配宝塔面板,基于node.js+nginx进行开发的。一、pandas是什么?示例:pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):importnumpyasnpimportpandasaspdimportmatpl

    2022年6月3日
    35
  • 矿机和普通电脑区别_计算机挖矿是什么意思

    矿机和普通电脑区别_计算机挖矿是什么意思原标题:处理的挖矿机能当家用电脑用吗?现在购买划算吗?目前市场上的矿机主要分为两类,一类是PC架构的矿机,另一类是基于ASIC芯片的专业矿机。一般PC架构的矿机可以当做家用电脑用,但cpu性能较弱,功耗较高。基于ASIC芯片的专业矿机由于没有显卡,不支持主流的桌面操作系统,,所以无法当普通电脑使用。基于PC架构的矿机可以作为普通电脑使用,但cpu性能较弱,功耗较高!一般基于pc架构的矿机,cpu…

    2022年9月29日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号