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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 一文搞懂SpringBoot自动配置原理「建议收藏」

    一文搞懂SpringBoot自动配置原理「建议收藏」阅读收获????????理解SpringBoot自动配置原理一、SpringBoot是什么SpringBoot的诞生就是为了简化Spring中繁琐的XML配置,其本质依然还是Spring框架,使用SpringBoot之后可以不使用任何XML配置来启动一个服务,使得我们在使用微服务架构时可以更加快速的建立一个应用。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式。二、SpringBoot的特点提供了固定的配置来简化配置,即约定大于配置 尽可能地

  • nanomsg使用_jmeter下载安装教程

    nanomsg使用_jmeter下载安装教程最近在构建一个中间层的通信架构,本来想用dbus,在实验过程中发现dbus对于国产系统支持版本比较低,安装比较麻烦,今天无意中看中了nanomsg,尽管没有dbus那么强悍的生态,但基本能满足需求。

  • “帮助企业做好MaxCompute成本优化的实践” 主题分享 6月21日 18:30不见不散

    “帮助企业做好MaxCompute成本优化的实践” 主题分享 6月21日 18:30不见不散

  • Spring batch教程 之 spring batch简介

    Spring batch教程 之 spring batch简介SpringBatch介绍在企业领域,有很多应用和系统需要在生产环境中使用批处理来执行大量的业务操作.批处理业务需要自动地对海量数据信息进行各种复杂的业务逻辑处理,同时具备极高的效率,不需要人工干预.执行这种操作通常根据时间事件(如月末统计,通知或信件),或者定期处理那些业务规则超级复杂,数据量非常庞大的业务,(如保险赔款确定,利率调整),也可能是从内部/外部系统抓取到的各种数据,通常需要

  • Android TextView行间距解析

    Android TextView行间距解析介绍Android中TextView的行间距设置方法,并分析每项设置对间距的影响。

    2022年10月25日
  • paraphrase和translation的区别_translating和interpreting的区别

    paraphrase和translation的区别_translating和interpreting的区别PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码.                MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,可以改变MFC的消息控制流程,甚至可以

发表回复

您的电子邮箱地址不会被公开。

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