博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL左、右、内、全连接
阅读量:6267 次
发布时间:2019-06-22

本文共 899 字,大约阅读时间需要 2 分钟。

1.前言

本文将实现两表的多种连接方式,现存在两个表如下所示:

2.内连接

典型的联接运算,包括在查询语句中使用像 =  或 <> 之类的比较运算符。内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。

例如,检索表 a 和 b 表中 id 与 pid 相同的项,查询语句如下所示:

select a.*,b.* from a inner join b on a.id=b.pid

查询结果如下所示:

3.外连接

外连接可以是左向外联接、右向外联接或完整外部联接。在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:

3.1 左外连接(左连接)

左向外联接的结果集包括  LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。

例如将之前的表 a 的 id 与表 b 的 pid 进行左连接,查询语句如下所示:

select a.*,b.* from a left join b on a.id=b.pid

查询结果如下所示:

3.2 右外连接(右连接)

右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。

例如将之前的表 a 的 id 与表 b 的 pid 进行右连接,查询语句如下所示:

select a.*,b.* from a right join b on a.id=b.pid

查询结果如下所示:

3.3 完全连接(全连接)

select a*,b.* from a full join b on a.id=b.pid

查询结果如下所示:

其结果与以下查询语句等价:

select  a.*,b.* from a left outer join b on a.id=b.pidunionselect a.*,b.* from a right outer join b on a.id=b.pid

转载于:https://www.cnblogs.com/jizhiqiliao/p/9825742.html

你可能感兴趣的文章
我们为什么从Python转到go?
查看>>
5.Azure负载均衡(上)
查看>>
轻松精通awk数组企业问题案例
查看>>
26.Azure备份服务器(下)
查看>>
从“网上说的能信么”说开去---学习的思考
查看>>
DHCP 日志分析
查看>>
.NET Micro Framework动态调用C/C++底层代码(原理篇)
查看>>
Windows Server 2012正式版RDS系列⒃
查看>>
Shell脚本之awk篇
查看>>
微软发布Azure Stack硬件需求
查看>>
python socket编程详细介绍
查看>>
Windows Server 2016第三个技术预览版新技术
查看>>
Everything 本地磁盘文件搜索工具下载!
查看>>
Python dict(字典) 详细总结
查看>>
RPF(Reverse Path Forwarding 反向路径转发)技术
查看>>
2016年收到的第一件礼物,被评上微软全球最有价值专家MVP(一)
查看>>
2016中国VR开发者论坛第一期
查看>>
Hyper-V 2016 系列教程5 Hyper-V 服务器基本属性
查看>>
北京、天津工厂自动监测数据爬取
查看>>
第一个python程序简单加法计算器
查看>>