SQL 多表联查

SQL JOIN (w3school.com.cn)

SQL join用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
之前跟着老师学数据库的时候学过,最近又在比较频繁的使用,再复习一下。
Person表:

Id_P :居民编号。主键

LastName:姓

FirstName:名

Address: 地址

City: 城市


Orders表:

Id_O :主键

OrderNo

Id_p :外键,是Person表中的主键

写法1:使用where

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons, Orders WHERE Persons.Id_P = Orders.Id_P

写法2:使用inner join

inner join:产生的结果集是两个表的交集。

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.Id_P = Orders.Id_P ORDER BY Persons.LastName

写法1与写法2的区别:

INNER JOIN与直接列出两个表并设置where条件:

在功能上是等价的,但它们在语法和可读性方面有所不同。
直接列出两个表:

这种方法是SQL早期版本的遗留方式,不使用显式的JOIN关键字,而是通过WHERE子句来指定连接条件。

SQL JOIN的5种类型:

MySQL: 图解 inner join、left join、right join、full outer join、union、union all的区别_mysql中union和inner join区别-CSDN博客

确保JOIN条件正确是避免产生笛卡尔积(Cartesian product)的关键

如何理解上面这句话?

嵌套查询与多表联查哪种效率更高?

居然说通常多表联查比子查询效率好!!!

为什么通常多表联查比子查询效率好?
相关推荐
这个DBA有点耶3 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G3 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备3 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远3 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
漂着的圆木3 天前
Agent 功能参与度:Copilot 怎么算
sql·数据分析·agent·githubcopilot·度量
2601_962218613 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren3 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安3 天前
MySQL-触发器
数据库·mysql
白远山3 天前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析
Omics Pro3 天前
斯坦福Nature+Science|广义虚拟细胞基础大模型
数据库·人工智能·算法·机器学习·自然语言处理