LEFT JOIN

简介: 【11月更文挑战第07天】

LEFT JOIN(也称为 LEFT OUTER JOIN)是一种 SQL 操作,用于结合两个或多个表中的行,即使右表中没有匹配的行。如果右表中没有匹配的行,则结果集中的右表部分将显示为 NULL

SQL LEFT JOIN 语法

基本的 LEFT JOIN 语法如下:

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;

这里的 column_name(s) 是你想要从连接的表中选择的列,table1 是左表,table2 是右表,table1.column_nametable2.column_name 是两个表中用于连接的共同列。

使用示例

继续使用前面的例子,假设我们想要获取所有员工的列表,包括那些没有分配到任何部门的员工。我们可以使用 LEFT JOIN 来实现这一点:

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

结果:

name department_name
John Doe Sales
Jane Smith Marketing
Bob Johnson Sales
Alice Johnson NULL

在这个查询中,即使某些员工没有分配到部门(即 department_iddepartments 表中不存在),他们仍然会出现在结果集中,而他们的 department_name 将显示为 NULL

另一个示例

假设我们有两个表:orderscustomersorders 表包含订单信息,customers 表包含客户信息。两个表通过 customer_id 列相关联。

orders 表:

order_id order_date customer_id
1 2021-01-01 1
2 2021-01-02 2
3 2021-01-03 NULL

customers 表:

customer_id customer_name
1 John Doe
2 Jane Smith

如果我们想要获取所有订单的列表,包括那些没有客户信息的订单(可能是新客户还未被添加到 customers 表中),我们可以使用 LEFT JOIN

SELECT orders.order_id, orders.order_date, customers.customer_name
FROM orders
LEFT JOIN customers
ON orders.customer_id = customers.customer_id;

结果:

order_id order_date customer_name
1 2021-01-01 John Doe
2 2021-01-02 Jane Smith
3 2021-01-03 NULL
目录
相关文章
|
SQL 监控 关系型数据库
MySQL怎么全局把一张表的数据回滚
MySQL怎么全局把一张表的数据回滚
1494 2
livp图片怎么打开以及怎么转换成jpg格式教程
livp图片怎么打开以及怎么转换成jpg格式教程
|
开发者 Docker 容器
DockerFile的ADD和COPY的区别
DockerFile的ADD和COPY的区别
5351 0
|
JSON Go 数据格式
Golang 对象深拷贝的方案以及性能比较
文章探讨了在Go语言中实现对象深拷贝的三种方法:使用gob序列化、JSON序列化和定制化拷贝,并对比了它们在性能和代码复杂度方面的优劣,建议根据具体需求选择最适合的方法。
512 1
|
10月前
|
IDE 开发工具 开发者
手把手教你安装PyCharm 2025:开发者的Python IDE配置全流程+避坑指南
本教程详细介绍了PyCharm 2025版本在Windows系统下的安装流程及配置方法,涵盖AI代码补全与智能调试工具链等新功能。内容包括系统要求、安装步骤、首次运行配置(如主题选择与插件安装)、创建首个Python项目,以及常见问题解决方法。此外,还提供了切换中文界面和延伸学习资源的指导,帮助用户快速上手并高效使用PyCharm进行开发。
5266 61
|
存储 SQL 关系型数据库
存储过程的创建和调用
存储过程的创建和调用
279 10
|
缓存 网络协议 算法
计算机网络常用知识总结!(二)
计算机网络常用知识总结!
738 4
|
10月前
|
人工智能 API UED
即刻拥有DeepSeek-R1满血版
阿里云推出基于R1满血版DeepSeek的AI解决方案,助您高效学习与工作!访问专属链接进入详情页,按指引免费体验。具体步骤包括:注册阿里云账号、开通百炼模型服务、获取API-KEY、配置Chatbox客户端并测试对话功能。通过简单操作,即可调用DeepSeek-R1模型,实现智能化交互。快速上手,开启AI新体验!
532 7
|
SQL Java 数据库连接
【Java】已解决java.sql.SQLException异常
【Java】已解决java.sql.SQLException异常
3197 0
|
弹性计算 网络安全
阿里云服务器更换公网IP地址的两种方法
阿里云服务器更换公网IP地址的两种方法
2064 0
阿里云服务器更换公网IP地址的两种方法

热门文章

最新文章