SQL学习笔记-表连接
1.内连接 [inner] join
通过比较被联接的表所共有的字段,把多个表联接起来
select 列名 from 表名1 [inner] join 表名2 on 表名1.列名 <比较运算符> 表名2.列名
2.左外连接 left [outer] join
左外联接的结果表中除了满足连接条件的行,还包括左表中的所有剩余行,
但不包括右表中的不匹配行,使用左外联接时,请注意:
(1)不满足联接条件的记录将显示空值
(2)左联接可以显示左表中所有记录
(3)可以把 LEFT OUTER JOIN 简写为 LEFT JOIN
select 列名 from 表名1 left [outer] join 表名2 on 表名1.列名 <比较运算符> 表名2.列名
3.右外连接 right [outer] join
右外联接结果表中除了满足连接条件的行,还包括右表中的所有剩余行,
但不包括左表中的不匹配行,使用右外联接时,请注意:
(1)不满足联接条件的记录将显示空值
(2)右联接可以显示右表中所有记录
(3)可以把 RIGHT OUTER JOIN 简写为 RIGHT JOIN
select 列名 from 表名1 right [outer] join 表名2 on 表名1.列名 <比较运算符> 表名2.列名
4.完整外连接, full [outer] join
即左右外连接的结合
select 列名 from 表名1 full [outer] join 表名2 on 表名1.列名 <比较运算符> 表名2.列名
5.交叉链接,即返回笛卡尔积 cross join
select 列名 from 表名1 cross join 表名2
6.自连接(self-join)
使用自联接,可以查询一个表中各记录之间的关系
使用自联接时,应注意:
(1)引用表的两份副本时,必须使用表的别名
(2)生成自联接时,表中每一行都和自身比较一下,并生成重复的记录,
(3)使用 WHERE 子句来消除这些重复记录
作者:唐小熊
出处:http://www.cnblogs.com/IT-Bear/
关于作者:一头写代码的熊
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
如有问题,可以通过kumat@foxmail.com 联系我,非常感谢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构