数据库——自然连接、内连接、外连接(左外连接、右外连接、全外连接)、交叉连接「建议收藏」

数据库——自然连接、内连接、外连接(左外连接、右外连接、全外连接)、交叉连接「建议收藏」1.自然连接(*naturaljoin)*自然连接不用指定连接列,也不能使用ON语句,它默认比较两张表里相同的列,`SELECT*FROMstudentNATURALJOINscore;`显示结果如下:2.内连接(innerjoin)和自然连接区别之处在于内连接可以自定义两张表的不同列字段。内连接有两种形式:显式…

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

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

1. 自然连接(*natural join)*
学生表这里写图片描述
自然连接不用指定连接列,也不能使用ON语句,它默认比较两张表里相同的列,

 `SELECT*FROM student NATURAL JOIN score;`

显示结果如下:
这里写图片描述
2. 内连接(inner join
和自然连接区别之处在于内连接可以自定义两张表的不同列字段。
内连接有两种形式:显式和隐式。
例:以下语句执行结果相同。
这里写图片描述

①隐式的内连接,没有INNER JOIN,形成的中间表为两个表的笛卡尔积。

SELECT student.name,score.codeFROM student,score WHERE score.code=student.code;

② 显示的内连接,一般称为内连接,有INNER JOIN,形成的中间表为两个表经过ON条件过滤后的笛卡尔积。

SELECT student.name,score.codeFROM student INNER JOIN score ON score.code=student.code;

3.外连接(outer join
①左外连接(left outer join):返回指定左表的全部行+右表对应的行,如果左表中数据在右表中没有与其相匹配的行,则在查询结果集中显示为空值。
例:SELECT student.name,score.codeFROM student LEFT JOIN score ON score.code=student.code;
查询结果如下:
这里写图片描述
②右外连接(right outer join):与左外连接类似,是左外连接的反向连接。

SELECT student.name,score.codeFROM student RIGHT JOIN score ON score.code=student.code;
这里写图片描述
②全外连接(full outer join):把左右两表进行自然连接,左表在右表没有的显示NULL,右表在左表没有的显示NULL。(MYSQL不支持全外连接,适用于Oracle和DB2。)

在MySQL中,可通过求左外连接与右外连接的合集来实现全外连接。
例:

SELECT student.name,score.codeFROM student LEFT JOIN score ON
score.
code=student.codeUNION SELECT student.name,score.code
FROM student RIGHT JOIN score ON score.
code=student.code;

4.交叉连接(cross join:相当与笛卡尔积,左表和右表组合。
SELECT student.name,score.code FROM student CROSS JOIN score ON score.code=student.code;
这里写图片描述

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

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

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


相关推荐

  • 大整数乘法的详解

    大整数乘法的详解一.问题由于编程语言提供的基本数值数据类型表示的数值范围有限,不能满足较大规模的高精度数值计算,因此需要利用其他方法实现高精度数值的计算,于是产生了大数运算。尤其是乘法运算,下面就是大整数的乘法的过程(加减法都一样的原理)。二.解决问题的方法方法一(传统的相乘逐步相加)乘法规律,一个数的第i位和另一个数的第j位相乘,一定会累加到结果的第i+j位,结果的数组一个数组元素存2位数,最后对结果整除得到进位,mod得到余数就是i+j位的数字,最后打印出来。对于大整数比较方便的输入方法是,.

    2022年6月2日
    37
  • 联想笔记本电脑键盘亮了屏幕不亮_联想电脑键盘灯亮屏幕黑屏

    联想笔记本电脑键盘亮了屏幕不亮_联想电脑键盘灯亮屏幕黑屏联想笔记本电脑一直是笔记本电脑行业里的大品牌,非常的受人们欢迎。但是它在使用时也会遇到很多问题,例如联想笔记本电脑开机键亮但是黑屏怎么办?联想笔记本电脑键盘失灵怎么办?所以在联想笔记本选购之前需要了解清楚需要故障时怎么解决。一、联想笔记本电脑开机键亮但是黑屏1、若遇到联想笔记本电脑开机键亮但是黑屏的情况,可以拆卸掉笔记本背面的电池,只用电源适配器连接电脑,尝试开机一次,如果开机正常,就是电池接触不…

    2022年9月20日
    0
  • 扒站工具整站_抓包知乎

    扒站工具整站_抓包知乎前两节说了利用浏览器或者借助仿站工具来扒站,这些方法适用于一般的web站点,对于某些不能在PC端打开的站点就比较困难了。如果只是在后台检验客户端来限制用户浏览,比如你用PC访问的时候自动转到PC页面或

    2022年8月6日
    3
  • python进阶(6)深拷贝和浅拷贝[通俗易懂]

    python进阶(6)深拷贝和浅拷贝[通俗易懂]深拷贝和浅拷贝不管对于浅拷贝、还是深拷贝,针对不可变对象str、int、tuple(有点特殊)、boolean,它的内存地址是不变的,拷贝的仅仅是值importcopya=1b=co

    2022年7月28日
    3
  • 微型计算机硬件系统的性能主要取决6,微机计算机硬件系统的性能主要取决于…

    微型计算机硬件系统的性能主要取决6,微机计算机硬件系统的性能主要取决于…大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。微机计算机硬件系统的性能主要取决于微处理器。微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。微处理器由一片或少数几片大规模集成电路组成的中央处理器。这些电路执行控制部件和算术逻辑部件的功能。微处理器与传统的中央处理器相比,具有体积小、重量轻和容易模块化等优点。微处理器的基本组成…

    2022年6月28日
    25
  • Linux删除软链接

    Linux删除软链接首先我们先来创建一个文件#mkdirtest_chk#touchtest_chk/test.txt#vimtest_chk/test.txt(这一步随便在这个test.txt里写点东东即可)下面我们来创建test_chk上当的软链接#ln-stest_chktest_chk_ln软链接创建好了,我们来看看怎么删除它正确的删除方式(删除软链接,

    2022年6月18日
    39

发表回复

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

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