sql的外连接包括_sql几种连接方式

sql的外连接包括_sql几种连接方式简述SQL中的“外连接” 1、SQL中外连接分为三种:左外连接、右外连接、全外连接。2、英文书写格式:左外连接:LEFTOUTERJOIN(LEFTJOIN);右外连接:RIGHTOUTERJOIN(RIHTJOIN);全外连接:FULLOUTERJOIN(FULLJOIN)。3、简记:左外连接显示“左边全部的”和“右边与左边相同的”;右外

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

简述SQL中的“外连接”

 

1、SQL中外连接分为三种:左外连接、右外连接、全外连接。

2、英文书写格式:

左外连接:LEFT OUTER JOIN(LEFT JOIN);

右外连接:RIGHT OUTER JOIN(RIHT JOIN);

全外连接:FULL OUTER JOIN(FULL JOIN)。

3、简记:

左外连接显示“左边全部的”和“右边与左边相同的”;

右外连接显示“右边全部的”和“左边与右边相同的”;

全外连接显示左、右两边全部的。

4、举例:

(1)查询所有球员及对应球队的记录,包括没有对应球队的球员记录?(处于自由状态的球员暂时不归属于任何球队)

(2)查询所有球员及对应球队的记录,包括没有任何球员的球队记录?(假设因战争等原因而不能组建的某国家队,在表中存有球队信息但是没有对应球员名单)

(3)查询所有球员及对应球队的记录,包括没有任何球员的球队记录,并且包括不归属于任何球队的球员的记录?

5、查询语句:

(1)查询所有球员及对应球队的记录,包括没有对应球队的球员记录?

SELECT p.team_id,p.player_name,t.team_name

FROM playerlist p LEFT OUTER JOIN teamlist t ON(p.team_id=t.team_id);

等价于

SELECT p.team_id,p.player_name,t.team_name

FROM playerlist p,teamlist t WHERE p.team_id=t.team_id(+);

(2)查询所有球员及对应球队的记录,包括没有任何球员的球队记录?

SELECT p.team_id,p.player_name,t.team_name

FROM playerlist p RIGHT OUTER JOIN teamlist t ON(p.team_id=t.team_id);

等价于

SELECT p.team_id,p.player_name,t.team_name

FROM playerlist p,teamlist t WHERE p.team_id(+)=t.team_id;

(3)查询所有球员及对应球队的记录,包括没有任何球员的球队记录,并且包括不归属于任何球队的球员的记录?

SELECT p.team_id,p.player_name,t.team_name

FROM playerlist p FULL OUTER JOIN teamlist t ON(p.team_id=t.team_id);

6、图例

通过图例结合第5点查看SQL语句:

player_list

team_id

player_name

00001

卡卡

00002

贝克汉姆

00004

齐达内

 

team_list

team_id

team_name

00001

巴西队

00003

卢旺达

00005

伊拉克

 

查询所有球员及对应球队的记录,包括没有对应球队的球员记录

team_id

player_name

team_name

00001

卡卡

巴西队

00002

贝克汉姆

 

00004

齐达内

 

 

查询所有球员及对应球队的记录,包括没有任何球员的球队记录

team_id

player_name

team_name

00001

卡卡

巴西队

00003

 

卢旺达

00005

 

卢森堡

 

查询所有球员及对应球队的记录,包括没有任何球员的球队记录,并且包括不归属于任何球队的球员的记录

team_id

player_name

team_name

00001

卡卡

巴西队

00002

贝克汉姆

 

00003

 

卢旺达

00004

齐达内

 

00005

 

卢森堡



***********************************************声明************************************************ 

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong)。

表述有错误之处,请您留言,不胜感激。

*****************************************************************************************************

 补充:

等号在(+)的左侧,为左外连接,左边表数据全部显示;

等号在(+)的右侧,为右外连接,右边表数据全部显示。

 

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

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

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


相关推荐

  • 全网最详细ENSP安装教程,零基础网工小白必看![通俗易懂]

    全网最详细ENSP安装教程,零基础网工小白必看![通俗易懂]全网最详细ENSP安装教程,零基础网工小白必看!学习更多网络技术,扫码即可免费报名听课,更多资料加QQ群414605852材料准备在下载ENSP之前先安装这3个软件1.1.安装WinPcap1.2.安装Wireshark1.3.安装VirtualBoXENSP安装2.1.软件安装2.2.设备注册在注册设备之前,先保证没有任何设备在界面上然后点击菜单—>工具—>注册设

    2022年10月14日
    0
  • yate.conf

    yate.conf

    2022年1月4日
    57
  • matlab中imfilter函数是什么意思_matlab中bwlabel函数

    matlab中imfilter函数是什么意思_matlab中bwlabel函数Matlab函数imfill简介函数功能:该函数用于填充图像区域和“空洞”。语法格式:BW2=imfill(BW)这种格式将一张二值图像显示在屏幕上,允许用户使用鼠标在图像上点几个点,这几个点围成的区域即要填充的区域。要以这种交互方式操作,BW必须是一个二维的图像。用户可以通过按Backspace键或者Delete键来取消之前选择的区域;通过shift+鼠标左键单击或者鼠…

    2022年9月13日
    0
  • 使用Java代码过滤掉乱码字符

    使用Java代码过滤掉乱码字符转自:http://www.cnblogs.com/en-heng/p/5320024.html最近在日志数据清洗时遇到中文乱码,如果只要有非中文字符就将该字符串过滤掉,这种方法虽简单但并不可取,因为比如像Xperia™主題、天天四川麻将Ⅱ这样的字符串也会被过滤掉。1.Unicode编码Unicode编码是一种涵盖了世界上所有语言、标点等字符的编码方式,简单一点说

    2022年6月11日
    92
  • C语言程序设计第二版 甘勇, 李烨 , 卢冰

    C语言程序设计第二版 甘勇, 李烨 , 卢冰

    2021年9月28日
    72
  • python if else if用法_python的循环语句有哪些

    python if else if用法_python的循环语句有哪些python中if语句的用法及if-else结构怎么使用发布时间:2020-08-2511:49:47来源:亿速云阅读:79python中if语句的用法及if-else结构怎么使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。if结构if结构允许程序做出选择,并根据不同的情况执行不同的操作基本用法比较运算符根据PEP8…

    2022年9月26日
    0

发表回复

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

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