SQL内连接与外连接的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL内连接与外连接的区别相关的知识,希望对你有一定的参考价值。

参考技术A

SQL内连接与外连接的共有3点不同:

1、两者的分类不同:内连接分为相等连接和自然连接两种连接方式;而外连接分为左外连接、右外连接和全外连接三种连接方式(左外连接即LEFT OUTER JOIN;右外连接即RIGHT OUTER JOIN)。

2、两者所连接的对象表不同:内连接进行连接的两个表是对应的相匹配的字段完全相同的。左外连接中进行连接的两个表会返回左边表中的所有的行和右边表中与之相匹配的列值,没有相匹配的用空值代替。右外连接中进行连接的两个表会返回右边表中的所有的行和左边表中与之相匹配的列值,没有相匹配的用空值代替。

3、两者的作用范围不同:内连接的连接发生在一张基表内,而外连接的连接发生在两张表之间。

注:内连接(典型的连接运算,使用像 =  或 <> 之类的比较运算符)。包括相等连接和自然连接。内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。

数据库总结

1 关系数据库系统与文件数据库系统有什么区别?

技术分享图片

 

2 SQL语言的功能有哪些

基本SQL语句有select、insert、update、delete、create、drop、grant、revoke等。

技术分享图片

 

3 内连接与外连接的区别?

技术分享图片

 

4 什么是事务?

事务是数据库中一个单独的执行单元,它通常由高级数据库操作语言(如SQL)或编程语言(如C++、Java等)书写的用户程序执行引起。

技术分享图片

 

5 什么是死锁

在操作系统中有若干程序并发执行,它们不断地申请、释放资源,在此过程中,由于争夺资源而处于无限期的等待状态,造成程序无法继续执行,若无外力作用,它们都将无法推进下去,这时称系统处于死锁状态或系统产生了死锁。此时便只能通过外力来打破这种状态。

产生死锁的原因有以下3点:

首先,资源不足。

其次,进程进行推进顺序不对,进程在运行中具有异步性,当进程推进顺序不当时,便产生死锁。

最后,资源分配不当,如果系统资源充足,进程的资源请求都能得到满足,死锁的可能性会被大大降低,而进程推进顺序与速度不同,也可能会产生死锁。

总的来说,产生死锁的4个必要条件:

1)互斥,每个资源每次只能被一个进程使用;

2)请求与保持等待,一个进程因请求资源而被阻塞,对已获得的资源保持不放;

3)不可剥夺,进程已获得的资源,在未使用完之前,不能强制剥夺;

4)环路等待,若干进程之间形成首尾相接的等待资源关系

所以,预防死锁的方法就是打破死锁产生的4个条件中的一个或多个,因此需要最大限度地增加系统资源,合理地安排进程的顺序并确定合理的分配资源的算法。

避免死锁是在资源的动态分配过程中,采取有效的方法防止系统进入不安全状态,达到预防死锁的目的,其中最具有代表性的方法就是银行家算法。

6 什么是共享锁?什么是互斥锁

技术分享图片

技术分享图片

以上是关于SQL内连接与外连接的区别的主要内容,如果未能解决你的问题,请参考以下文章

SQL内连接与外连接用法与区别

2020.03.14 内连接与外连接的区别

SQL中的左连接与右连接,内连接有啥区别

一文让你彻底理解SQL连接查询

内连接与外连接(全网最详细)

MySQL 内连接与外连接