SQL Server中的自连接和全外连接
SQL Server中的自连接和全外连接
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术: SQL Server
作者:黄瑞杰
撰写时间:2022/05/07
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一、SQL Server自连接
自联接用于将表连接到自身(同一个表)。 它对于查询分层数据或比较同一个表中的行很有用。
自联接使用内连接或左连接子句。 由于使用自联接的查询引用同一个表,因此表别名用于为查询中的表分配不同的名称。
以下是将表 T 连接到自身的语法:
上面查询语句中两次引用表 T 。表别名 t1 和 t2 用于为 T 表分配不同的名称。
二、SQL Server全外链接
FULL OUTER JOIN当左表或右表中存在匹配项时,该命令将返回所有行。
下面创建一些示例表来演示全外连接。
首先,创建一个名为 pm 的新模式,它代表项目管理。
接下来,在 pm 模式中创建名为 projects 和 members 的新表:
假设每个成员只能参与一个项目,每个项目都有零个或多个成员。 如果项目处于构思阶段,则不会分配 任何成员。
然后,向 projects 和 member 表中插入一些行记录:
之后,查询 projects 和 member 表中的数据:
最后,使用 FULL OUTER JOIN 查询 projects 和 member 表中的数据:
执行上面查询语句,得到以下结果:
在此示例中,查询返回参与项目的成员,不参与任何项目的成员以及没有任何成员的项目。
SQL Server中的自连接和全外连接相关推荐
- 如何列出引用SQL Server中给定表的所有外键?
我需要在SQL Server数据库中删除一个高度引用的表. 我如何获取要删除表需要删除的所有外键约束的列表? (与在Management Studio的GUI中单击相比,SQL的答案更好.) #1楼 ...
- 图数据库 graph_通过SQL Server中的自连接了解Graph数据库相对于关系数据库的好处
图数据库 graph Earlier this year, I published several articles on SQLShack with an aim of demonstrating ...
- SQL Server中的递归CTE和外键引用
介绍 (Introduction) Foreign key constraints are a powerful mechanism for preserving referential integr ...
- sql server 外键_什么是SQL Server中的外键
sql server 外键 In this article, we will seek an answer to an important question – "What is a for ...
- SQL Server中的表变量
In this article, we will explore the table variable in SQL Server with various examples and we will ...
- 11gr2全外连接优化执行计划(二)
在11.2中,Oracle对于全外连接的执行计划进行了优化. 这篇介绍新增的两个相关的HINT. 11gr2全外连接优化执行计划:http://yangtingkun.itpub.net/post/4 ...
- sql server的搜索_在SQL Server中进行全文本搜索
sql server的搜索 介绍 (Introduction) In most cases, we will use clustered and non-clustered indexes to he ...
- 数据库之SQL(基本连接,内连接,左外连接,右外连接,全外连接,交叉连接,自连接)
之前的博客内容我们分享了数据表的查询与管理,但那只是针对数据库中的一个表格进行的查询管理,现在如果我们想要同时看到两个数据表中的数据的话,那要怎么办呢?采用多连接查询的方式. SQL中有哪几种多连接的 ...
- 如何在SQL Server中索引外键列
Before going through the main concern of this article, indexing the foreign key columns, let's take ...
最新文章
- 剖析ASP.NET下部构造
- 如何使用敏捷工具Leangoo脑图做Epic/ Theme /Story 管理
- 并发编程-09安全发布对象+单例模式详解
- 降低数据中心功耗的 4 大方法
- PHP实现带重试功能的curl连接示例
- linux crontab sleep,linux crontab 执行任务(7秒执行)
- myeclipse运行jsp文件_【新书连载12】软件测试专项技术—JSP
- C#通信之Socket通信的简单例子
- 基于 Redis 的分布式锁到底安全吗(上)?
- 【导航仿真】基于matlab GUI PSINS导航仿真【含Matlab源码 1496期】
- node 更新_更新应用时,如何实现 K8s 零中断滚动更新?
- activiti6创建28张表
- discuz招商加盟门户整站模板
- 移动硬盘计算机无法打开硬盘,移动硬盘无法访问,详细教您移动硬盘无法访问怎么办...
- 性能测试工程师职业现状分析
- 三百英雄服务器维护2020,【梦服】2020年12月3日【版本更新说明】
- 《你坏-大冰》阅读笔记
- 基于Graphhopper的路线导航方案
- 数字逻辑学习总结-MOOC数字逻辑设计
- simulink/stateflow官方案例之自动变速器