关于sql语句中的连接(join)关键字,是较为常用而又不太容易理解的关键字,下面这个例子给出了一个简单的解释 --建表table1,table2:
create table table1(id int,name varchar(10))
create table table2(id int,score int)
insert into table1 select 1,'lee'
insert into table1 select 2,'zhang'
insert into table1 select 4,'wang'
insert into table2 select 1,90
insert into table2 select 2,100
insert into table2 select 3,70
如表
-------------------------------------------------
table1 | table2 |
-------------------------------------------------
id name |id score |
1 lee |1 90 |
2 zhang |2 100 |
4 wang |3 70 |
-------------------------------------------------
以下均在查询分析器中执行
一、外连接
1.概念:包括左向外联接、右向外联接或完整外部联接
2.左连接:left join 或 left outer join
(1)左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(null)。
(2)sql语句
select * from table1 left join table2 on table1.id=table2.id
-------------结果-------------
id name id score
------------------------------
1 lee 1 90
2 zhang 2 100
4 wang NULL NULL
------------------------------
注释:包含table1的所有子句,根据指定条件返回table2相应的字段,不符合的以null显示
3.右连接:right join 或 right outer join
(1)右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
(2)sql语句
select * from table1 right join table2 on table1.id=table2.id
-------------结果-------------
id name id score
------------------------------
1 lee 1 90
2 zhang 2 100
NULL NULL 3 70
------------------------------
注释:包含table2的所有子句,根据指定条件返回table1相应的字段,不符合的以null显示
4.完整外部联接:full join 或 full outer join
(1)完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
(2)sql语句
select * from table1 full join table2 on table1.id=table2.id
-------------结果-------------
id name id score
------------------------------
1 lee 1 90
2 zhang 2 100
4 wang NULL NULL
NULL NULL 3 70
------------------------------
注释:返回左右连接的和(见上左、右连接)
二、内连接
1.概念:内联接是用比较运算符比较要联接列的值的联接
2.内连接:join 或 inner join
3.sql语句
select * from table1 join table2 on table1.id=table2.id
-------------结果-------------
id name id score
------------------------------
1 lee 1 90
2 zhang 2 100
------------------------------
注释:只返回符合条件的table1和table2的列
4.等价(与下列执行效果相同)
A:select a.*,b.* from table1 a,table2 b where a.id=b.id
B:select * from table1 cross join table2 where table1.id=table2.id (注:cross join后加条件只能用where,不能用on)
三、交叉连接(完全)
1.概念:没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。(table1和table2交叉连接产生3*3=9条记录)
2.交叉连接:cross join (不带条件where...)
3.sql语句
select * from table1 cross join table2
-------------结果-------------
id name id score
------------------------------
1 lee 1 90
2 zhang 1 90
4 wang 1 90
1 lee 2 100
2 zhang 2 100
4 wang 2 100
1 lee 3 70
2 zhang 3 70
4 wang 3 70
------------------------------
注释:返回3*3=9条记录,即笛卡尔积
4.等价(与下列执行效果相同)
A:select * from table1,table2
转载地址:http://blog.youkuaiyun.com/daisy_leaf/archive/2006/10/08/1325494.aspx
相关推荐
Exchange 2013/2016/2019修改附件大小限制
Exchange 2013/2016/2019邮件大小限制 可以在三个位置上配置Exchange上的默认邮件大小限制: 组织传输设置 发送/接收连接器设置 用户邮箱设置 1.打开Exchange Management Shell 使用命令查看默认限制 get-transportconfig | ft maxsendsize, maxreceivesize get-receiveconnector | ft name, maxmessagesize get-sendconnector | ft
sql server 中的几种join连接方式
<br />对于SQL我也学习了,但是真正用到的时候才知道很多东西还不太理解,在网上看了一下,这篇文章中讲的很好,所以拿来和大家分享一下: <br />SQL JOIN 的用法 <br />关于sql语句中的连接(join)关键字,是较为常用而又不太容易理解的关键字,下面这个例子给出了一个简单的解释 --建表table1,table2: <br />create table table1(id int,name varchar(10)) <br />create table table2(id int,sc
保姆级教程:手把手配置MAX9295/9296 GMSL2-CSI2链路,搞定4LAN/1LAN模式与常见调试
本文提供MAX9295/9296 GMSL2-CSI2链路的详细配置教程,涵盖4LAN和1LAN模式的硬件连接、寄存器配置及调试技巧。通过实战案例和代码示例,帮助开发者快速实现高带宽视频传输,解决常见问题如信号同步和功耗优化,适用于车载摄像头和机器人视觉系统开发。
SQL Server Join连接
常用有INNER JOIN,LEFT JOIN,RIGHT JOIN, FULL JOIN。 学生表 成绩表 INNER JOIN (取T_B_Student表和T_B_Achievement表的交集) select S.NO,S.NAME,S.SEX,S.CLASS, A.Chinese,A.Math,A.English,A.History,A.Geography,A.Biology,A.Politics,A.Physics,A.Chemistry from T_B_Student
Vienna整流器双PI闭环仿真:从SVPWM调制到中点电位平衡的实践解析
本文深入解析Vienna整流器双PI闭环仿真技术,涵盖SVPWM调制和中点电位平衡的实践细节。通过详细的MATLAB/Simulink仿真搭建流程和常见问题排查方法,帮助工程师掌握高效整流器控制策略,提升系统稳定性和动态响应性能。
用STM32CubeMX和HAL库,5分钟搞定TB6612驱动直流电机(附完整代码)
本文详细介绍了如何使用STM32CubeMX和HAL库快速配置TB6612驱动直流电机,包括硬件连接、CubeMX工程配置、电机驱动逻辑实现及进阶优化技巧。通过图形化工具和代码示例,即使是新手也能在5分钟内完成电机调速系统的搭建,大幅提升开发效率。
sql server join联结
join学习起来有点乱,现做如下整理: table A id abc 1 a 2 b 3 c 4 d table B id abc 1 e 2 a 3 f 4 c --join或者inner join (内连接、等值...
WRF进阶:定制Vtable文件解析非标准气象数据源——以ERA5-Land土壤湿度为例
本文详细介绍了如何为WRF模式定制Vtable文件,以解析非标准气象数据源ERA5-Land的土壤湿度数据。通过剖析GRIB文件结构、详解Vtable编写逻辑与语法,并提供了从数据验证到metgrid配置的完整实战流程,帮助用户突破标准数据源限制,实现高精度陆面过程模拟。
SQL中多表查询:左连接、右连接、内连接、全连接、交叉连接
一、左连接,右连接,内连接关系 左连接:左表全部+两个表交集(①+②) 右连接:右表全部+两个表交集(③+②) 内连接:两个表交集(②) 二、结合具体例子看(已经在mysql中执行过的例子,可以运行,没有错误) 表1 表2 1、左连接(left join) select a.id,a.name,b.address from empi_patient a LEFT JOIN empi_patient_copy2 b on a.id = b.id 执行结果: 2、右连接(r
(2-4-01)目标检测与分割:地面提取(1)
请看下面的例子,生成了虚拟 LiDAR 点云数据,然后使用 DBSCAN 聚类方法进行 LiDAR 地面提取,并根据聚类结果可视化地面和非地面点云。首先生成虚拟 LiDAR 点云数据,然后基于设定的高程阈值进行地面提取,并通过 Open3D 可视化地面和非地面点云。地面提取是LiDAR(激光雷达)数据处理中的一个重要步骤,其目标是从点云数据中分离出地面点,即地面表面上的点。LiDAR点云数据通常包含地面点和非地面点(例如建筑物、树木等),地面提取的目标是从这些点中准确识别和提取地面点。
一文吃透 ABAP RESTful Application Programming Model(RAP):从数据建模与行为,到业务服务暴露,再到服务消费
本文介绍了SAP ABAP统一编程模型RAP的核心架构与实践方法,通过构建完整的ZTRAVEL和ZBOOKING业务对象,演示了从数据建模、行为定义到服务暴露的全流程。文章详细说明了RAP三层架构(数据与行为层、服务提供层、服务消费层)的实现方式,包括CDS视图实体定义、行为定义(BDEF)中的事务能力声明、投影与服务绑定等关键步骤。特别强调了ABAP Cloud环境下的开发限制和最佳实践,如使用GUID和late numbering机制,以及如何通过EML语言操作业务对象。最后提供了完整的代码示例,展示了
SQL中的内连接、左连接、右连接、全连接、交叉连接
sql连接查询可分为三大类:内连接、外连接、交叉连接。外连接又可分为左连接,右连接,全连接。 我们最常用的应该是内连接,多表联合查询的时候使用的诸如“select * from a,b where a.uid=b.uid;”这就是一个典型内连接查询的例子,实际上这句与“select * form a inner join b on a.uid=b.uid”是等价的,后者逼格明显高了许多。下面来详
『MaxKB 2.x 开发环境搭建』在Windows下运行最新源码的完整步骤
本文将详细介绍如何在Windows系统中完成MaxKB最新版(2.x)开发环境的搭建,包括前端、后端以及数据库的配置,确保开发者能够顺利启动项目。
SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)
转贴自 http://www.cnblogs.com/eflylab/archive/2007/06/25/794278.html SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接) 最近公司在招人,同事问了几个自认为数据库可以的应聘者关于库连接的问题,回答不尽理想~现在在这写写关于它们的作用假设有如下表:一个为投票主表,一
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
ORACLE之SQL连接操作(内连接,左连接,右连接,全连接,自然连接,交叉连接)
内连接(关键字:INNER JOIN) 两个表格中的数据都匹配才会查询出来。 左连接(关键字:LEFT JOIN) 左边的表为主表查询,右边的表匹配不上则为null 右连接(关键字:RIGHT JOIN) 右边的表为主表查询,左边的表匹配不上则为null 全连接(关键字:FULL JOIN) 左表右表的数据全部查询出来匹配不上的显示为null 自然连接(关键字:NATURAL JO...
霍尼韦尔SoftMaster使用说明
霍尼韦尔SoftMaster使用说明
SQL中左连接、右连接、内连接、全连接、交叉连接、自连接、自然连接及USING连接的用法及区别
SQL连接类型主要包括:左连接(保留左表所有记录)、右连接(保留右表所有记录)、内连接(仅返回匹配记录)、全连接(返回两表所有记录)、交叉连接(返回笛卡尔积)、自连接(表与自身连接)、自然连接(自动匹配同名列)和USING连接(指定连接列)。各连接类型在匹配规则和返回结果上存在差异,左/右/全连接保留未匹配记录的NULL值,内连接仅返回匹配成功的数据,交叉连接则生成所有可能组合。自连接常用于比较同一表内的数据关系。
java 左连接有图_SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接...
SQL连接可以分为内连接、外连接、交叉连接。数据库数据:book表 stu表1.内连接1.1.等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。1.2.不等值连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列...
SQL 连接 左连接,右连接,全连接,内连接,交叉连接,自连接
<br />SQL 连接 左连接,右连接,全连接,内连接,交叉连接,自连接<br />现在在这写写关于它们的作用<br />假设有如下表:<br /><br /><br />一个为投票主表,一个为投票者信息表~记录投票人IP及对应投票类型,左右连接实际说是我们联合查询的结果以哪个表为准~<br />1:如右接连 right join 或 right outer join:<br /><br />我们以右边voter表为准,则左表(voteMaster)中的记录只有当其ID在右边(voter)中存在时才会显示
SQL 内连接,左连接,左外连接,右连接,右外连接,全连接,交叉连接
内联接(典型的联接运算,使用像 = 或 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students 和 courses 表中学生标识号相同的所有行。 外联接。外联接可以是左向外联接、右向外联接或完整外部联接。 在 FROM 子句中指定外联接时,可以由下列几组关键字中的一组指定: LEFT JOIN
SQL 连接 JOIN 例解(左连接,右连接,全连接,内连接,交叉连接,自连接)
假设有如下表: 一个为投票主表,一个为投票者信息表~记录投票人IP及对应投票类型,左右连接实际说是我们联合查询的结果以哪个表为准~ 1:如右接连 right join 或 right outer join: 我们以右边voter表为准,则左表(voteMaster)中的记录只有当其ID在右边(voter)中存在时才会显示出来,如上图,左边中ID为3.4.5.6因为这些ID右表中没
6099



被折叠的 条评论
为什么被折叠?



