首页 > 数据库 >数据库的内连接和外连接

数据库的内连接和外连接

时间:2024-01-20 17:31:58浏览次数:27  
标签:name 数据库 员工 dept id 主表 连接

数据库的内连接和外连接

内连接:

两个或两个以上的表进行关联查询时,查询的结果集中 返回所有满足连接条件的行。

外连接:

两个或两个以上的表进行关联查询时,查询的结果集中 除了返回满足连接条件的行以外,还返回左(或右)表中不满足条件的行,这种连接称为左(或右) 外连接。

如果是左外连接,则连接条件中左边的表也称为 主表 ,右边的表称为 从表 。 如果是右外连接,则连接条件中右边的表也称为 主表 ,左边的表称为从表。

====================================================================

以员工表(employee)和部门表(department)表进行实验:

员工表(employee)

id

name

email

dept_id

1

tom

[email protected]

1

2

jerry

[email protected]

2

3

lucy

[email protected]

4

jack

[email protected]

1


部门表(department)

id

dept_name

1

开发部

2

测试部

3

销售部


内连接语法:

select e.name, d.dept_name from employee e
inner join department d
on e.dept_id = d.id`

数据库的内连接和外连接_左外连接

使用上述的内连接语句查询后,左边的员工表作为主表,右边的部门表作为辅表,展示效果为:列出所有有部门的员工的信息。

使用上述的内连接语句查询后,没有部门的员工未显示在结果集中。


左外连接语法:

select e.name, d.dept_name from employee e
left join department d
on e.dept_id = d.id

数据库的内连接和外连接_结果集_02


使用上述的左外连接语句查询后,没有部门的员工显示在结果集中。

使用上述的左外连接后,左边的员工表作为主表,右边的部门表作为辅表,展示效果为:列出所有员工的部门信息


右外连接语法:

select  e.name, d.dept_name from employee e
right join department d
on e.dept_id = d.id

数据库的内连接和外连接_内连接_03

使用上述的右外连接后,右边的部门表作为主表,左边的员工表作为辅表,展示效果为:列出所有部门中的员工信息


标签:name,数据库,员工,dept,id,主表,连接
From: https://blog.51cto.com/u_15957500/9345947

相关文章

  • 【MySQL 8+】CRUD等操作修改数据库的表后,数据库中表相关信息与数据库工具所展示的信息
    相关转载:①mysql8.0数据库中表的行数不显示,大小也不显示_-CSDN问答②MySQL8.0存储表的行数和修改日期不自动更新的问题_mysql表插入数据,但是修改日期无值-CSDN博客=============================================================个人总结:本人一开始上手的就是MySQL8+的版......
  • jetson nano ssh远程连接控制
    jetsonorinnanossh远程连接准备:好用的网线一根,jetsonorinnano一台,将网线两端连接nano的网口以及当作主机的笔记本的网口PS:确保双方网线连接成功,网线设置不用更改默认即可step11.执行nmap10.42.0/24//调用查看nano的ip地址可能情况-bash:nmap:commandnotfoun......
  • 上位机连接PLC
    上位机使用Hsl框架连接PLC顺便讲下策略模式话不多说,直接上代码publicinterfaceIPlcHost{boolConnectionPlc(stringpath);}publicclassFastPlcHost:IPlcHost{privateSiemensS7Netclient;publicFastPlcHost(){client=newSiemens......
  • dotnet 多数据库 sqlite efcore model和entity区别 一对多 多对一 多对多
    efcore-multi-db/MultiDb.slnMicrosoftVisualStudioSolutionFile,FormatVersion12.00#VisualStudio15VisualStudioVersion=15.0.27130.2024MinimumVisualStudioVersion=10.0.40219.1Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}")="......
  • dotnet efcore 多数据库 使用
    efcore的使用依赖包efcore-multi-db/MultiDb.Two/MultiDb.Two.csproj<ProjectSdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>net7.0</TargetFramework></PropertyGroup><ItemGroup><Packa......
  • Android连接socket
    本文章主要是写Android作为客户端。Android客户端对于Android客户端,我们需要创建一个Socket对象,并指定服务器的IP地址和端口号。然后,使用Socket对象的connect()方法连接到服务器。连接成功后,可以使用Socket对象发送和接收数据。但其中一个比较重要的点是要使用到多线程,因为Andr......
  • TCP三次握手源码分析(服务端接收ACK&TCP连接建立完成)
    内核版本:Linux3.10内核源码地址:https://elixir.bootlin.com/linux/v3.10/source(包含各个版本内核源码,且网页可全局搜索函数)《TCP三次握手源码分析(客户端发送SYN)》《TCP三次握手源码分析(服务端接收SYN以及发送SYN+ACK)》《TCP三次握手源码分析(客户端接收SYN+ACK以及发送ACK......
  • oracle数据库检测
    连接数--数据库连接数selectcount(*)fromv$process;--数据库允许的最大连接数selectvaluefromv$parameterwherename='processes';--session连接数selectcount(*)fromv$session;--并发连接数selectcount(*)fromv$sessionwherestatus='ACTIVE';表空......
  • C# 字符串操作指南:长度、连接、插值、特殊字符和实用方法
    字符串用于存储文本。一个字符串变量包含由双引号括起的字符集合示例://创建一个string类型的变量并赋予一个值stringgreeting="Hello";如果需要,一个字符串变量可以包含多个单词:示例:stringgreeting2="Nicetomeetyou!";字符串长度在C#中,字符串实际上是一......
  • MySQL连接池最大连接数设置
    默认连接数的选择应该基于你的应用程序的需求以及数据库服务器的性能和配置。 对于大多数小型和中型应用程序来说,10个连接可能是一个合理的起点。然而,如果你的应用程序具有较高的并发性或处理大量数据库操作,你可能需要增加连接数。否则,在高负载时,连接池中的连接可能会快速耗尽......