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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 树莓派是什么?能干什么?

    树莓派是什么?能干什么?树莓派是什么?能干什么?一、什么是树莓派?二、树莓派和单片机的区别?三、树莓派使用的什么系统?四、树莓派的最基本操作方法?五、树莓派能干什么?六、玩树莓派能学到什么?一、什么是树莓派?树莓派是由树莓派基金会发布的卡片式电脑,起初的目的是为了让更多的孩子们可以学习计算机编程,但是发布以后受到了广大计算机爱好者的喜爱树莓派被称为卡片式电脑,顾名思义它可以安装操作系统,并且接上显示屏鼠标键盘就可以正常使用,在上面可以用python或者C语言编程并运行。二、树莓派和单片机的区别?树莓派是卡片式电脑可以装

    2022年6月8日
    27
  • 控件anchor和dock属性_控件的常用属性

    控件anchor和dock属性_控件的常用属性在设计窗体时,这两个属性特别有用,如果用户认为改变窗口的大小并不容易,应确保窗口看起来显示的不是那么乱,并编写很多代码来实现这个效果,许多程序解决这个问题都是禁止给窗口重新设置大小这显然是解决问题的最简单的方法,但不是最好的方法,因此引入了Anchor和Dock属性。1、Anchor属性用于指定在用户重新设置窗口的大小时控件应该如何响应,可以指定如果控件重新设置了大小,就根据控件的边界去锁

    2025年10月29日
    2
  • vscode 格式化json

    vscode 格式化json安装扩展插件 nbsp json tools nbsp 快捷键 ctrl alt mhttps marketplace visualstudio com items itemName eriklynd json tools

    2025年9月6日
    4
  • 敏捷开发有哪些模式_软件敏捷开发方法的模式

    敏捷开发有哪些模式_软件敏捷开发方法的模式在信息技术高速发展的今天,有很多的开发任何要求开发人员增量交付,迭代式开发,能够持续集成。很显然传统的瀑布开发模式已经不能满足需要了,于是,敏捷开发这种模式就出现了。接触过敏捷开发的朋友可能会知道,

    2022年8月3日
    4
  • cubieboard使用资料

    cubieboard使用资料cubieboard 制作可以启动的sdhttps://github.com/shmily/CubieboardcubieboardFEDORA镜像:http://zenit.senecac.on.ca/wiki/index.php/Fedora_ARM_Secondary_ArchitectureSUNXI官方网站:http://linux-sunx

    2022年7月22日
    10
  • Fibers_fiber bundle

    Fibers_fiber bundle要理解Fibers首先需要对抢占式多任务和协作式多任务有所了解抢占式多任务抢占式是指暂停或中断正在执行的计算任务,而不是与其合作。中断后再继续恢复该任务的执行,这种改变又称为上下文切换。其缺点在于操作系统可能会在一个不适当的时间进行上下文切换。例如:Linux的调度程序特权任务Scheduler采用的就是取消进程任务,而不是与其合作。协作式多任务早期的多任务处理系…

    2025年8月21日
    3

发表回复

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

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