我的编程空间,编程开发者的网络收藏夹
学习永远不晚

一文掌握SQL的 joins 语法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

一文掌握SQL的 joins 语法

SQL 中的不同 JOIN 类型:

1. (INNER)JOIN(内连接):返回两个表中具有匹配值的记录。

2. LEFT(OUTER)JOIN(左外连接):返回左表中的所有记录,以及右表中与之匹配的记录。

3. RIGHT(OUTER)JOIN(右外连接):返回右表中的所有记录,以及左表中与之匹配的记录。

4. FULL(OUTER)JOIN(全外连接):返回在左表或右表中有匹配的所有记录。

一文掌握SQL的 joins 语法

现在详细举例说明:

假设我们有两个表 employees 和 departments:

employee_idnamedepartment_id
1Alice1
2Bob2
3DavidNULL

employees表

department_iddepartment_name
1HR
2Engineering
3Sales

departments表

 INNER JOIN 

SELECT employees.name, departments.department_name  //要查的字段
FROM employees  //表1
INNER JOIN departments ON employees.department_id = departments.department_id;  //表2,连接条件

结果是

namedepartment_name
AliceHR
BobEngineering

LEFT (OUTER) JOIN

LEFT JOIN 返回左表中的所有记录,以及右表中匹配的记录。如果右表中没有匹配的记录,则结果中包含 NULL。

SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.department_id;
 

结果是

namedepartment_name
AliceHR
BobEngineering
DavidNULL

RIGHT (OUTER) JOIN

RIGHT JOIN 返回右表中的所有记录,以及左表中匹配的记录。如果左表中没有匹配的记录,则结果中包含 NULL。

SELECT employees.name, departments.department_name
FROM employees
RIGHT JOIN departments ON employees.department_id = departments.department_id;

结果是

namedepartment_name
AliceHR
BobEngineering
NULLSales

 FULL (OUTER) JOIN

FULL JOIN 返回两个表中的所有记录,当左表或右表中有匹配时返回匹配的记录。如果没有匹配,则结果中包含 NULL。

SELECT employees.name, departments.department_name
FROM employees
FULL JOIN departments ON employees.department_id = departments.department_id;
namedepartment_name
AliceHR
BobEngineering
DavidNULL
NULLSales

总结

  • INNER JOIN:只返回两个表中匹配的记录。
  • LEFT JOIN:返回左表中的所有记录,以及右表中匹配的记录。
  • RIGHT JOIN:返回右表中的所有记录,以及左表中匹配的记录。
  • FULL JOIN:返回两个表中的所有记录,当左表或右表中有匹配时返回匹配的记录。

希望这些示例能帮助你更好地理解 SQL 中的不同 JOIN 类型。

到此这篇关于SQL的 joins 语法的文章就介绍到这了,更多相关SQL joins 语法内容请搜索编程网(www.lsjlt.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.lsjlt.com)!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

一文掌握SQL的 joins 语法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

一文掌握SQL的 joins 语法

目录employees表departments表LEFT (OUTER) JOINRIGHT (OUTER) JOIN FULL (OUTER) JOIN总结SQL 中的不同 JOIN 类型:1. (INNER)JOIN(内连接):返回两
一文掌握SQL的 joins 语法
2024-09-13

一文掌握new Date() 方法

大家平时在开发的时候有没被new Date()折磨过,反正我是踩过很多坑,今天小编通过本文给大家详细讲解下new date()方法应用思考,感兴趣的朋友一起看看吧
2023-05-16

一文带你掌握掌握Golang结构体与方法

在Golang中,结构体和方法是实现面向对象编程的重要组成部分,也是Golang的核心概念之一。在本篇文章中,我们将深入介绍Golang结构体与方法的概念、使用方法以及相关的编程技巧和最佳实践
2023-05-17

一文掌握MySQL锁表方法

本文介绍了MySQL锁表方法,涵盖锁类型、锁粒度、锁表方法和解锁技巧。锁类型包括共享锁、排他锁、意向共享锁和意向排他锁。锁粒度可分为行级锁或表级锁。锁表方法包括使用LOCKTABLES语句、SELECT...FORUPDATE语句和UPDATE...WHERE...FORUPDATE语句。最佳实践建议只锁需要锁定的数据、尽快解锁、使用行级锁、避免死锁和使用乐观锁。
一文掌握MySQL锁表方法
2024-04-02

一文掌握汇编语言halt命令

汇编halt命令,是一条重复执行指定标号的循环命令。处理器暂停,直到出现中断或复位信号才继续,这篇文章主要介绍了汇编语言halt命令,需要的朋友可以参考下
2023-01-28

一文掌握go的sync.RWMutex锁

这篇文章主要介绍了一文掌握go的sync.RWMutex锁,本文是为了在面试中能快速口述RW锁,并非为了完整解答RW锁的机制,需要的朋友可以参考下
2023-03-09

一文带你掌握Go语言中的文件读取操作

这篇文章主要和大家分享一下Go语言中的文件读取操作,文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,需要的小伙伴可以参考一下
2022-12-08

一文带你掌握Go语言中文件的写入操作

这篇文章主要和大家分享一下Go语言中文件的写入操作,文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,需要的小伙伴可以参考一下
2022-12-08

一文带你掌握Java中的HashSet

HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合,HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的,本文将带你详细了解Java中的HashSet,,需要的朋友可以参考下
2023-05-19

一文掌握MyBatis Plus的条件构造器方法

这篇文章主要介绍了MyBatis Plus的条件构造器,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-02-09

Python 语法秘籍:掌握编程的语言

Python 是一种强大的编程语言,其语法清晰简洁。掌握 Python 语法是编程之旅的关键第一步。本文将介绍 Python 语法的核心概念,通过演示代码帮助您深入理解。
Python 语法秘籍:掌握编程的语言
2024-02-19

编程热搜

目录