MYSQL自联结

文章目录

查找:生产ID为DTNTR物品的供应商,生产的其他物品。

子查询
sql 复制代码
SELECT
	prod_id,
	prod_name 
FROM
	products 
WHERE
	vend_id = ( SELECT vend_id FROM products WHERE prod_id = 'DTNTR' );
自联结
sql 复制代码
SELECT p1.prod_id,p1.prod_name   # 必须指定为p1.prod_id,p1.prod_name
FROM
	products AS p1,
	products AS p2 
WHERE
	p1.vend_id = p2.vend_id 
	AND p2.prod_id = 'DTNTR'

p2已经被限制为了具体的一行

sql 复制代码
SELECT p2.prod_id,p2.prod_name
FROM
	products AS p1,
	products AS p2 
WHERE
	p1.vend_id = p2.vend_id 
	AND p2.prod_id = 'DTNTR'
sql 复制代码
SELECT
	* 
FROM
	products AS p1,
	products AS p2 
WHERE
	p1.vend_id = p2.vend_id 
	AND p2.prod_id = 'DTNTR'
比较

从运行时间看,自联结比子查询快!

相关推荐
Mico1814 分钟前
MySQL 8.0.35 GTID + 延迟复制 + 过滤复制搭建
mysql·dba
Dylan的码园15 分钟前
从Excel到数据库:数据分析全流程与Kettle ETL实战指南
数据库·数据分析·excel
l1t16 分钟前
DeepSeek总结的DuckLake 架构深度剖析-1
数据库·架构
花生了什么事o16 分钟前
分布式 ID 生成方案:从数据库自增到雪花算法
数据库·分布式·算法
纪伊路上盛名在26 分钟前
NVML ERROR_ RM has detected an NVML_RM version mismatch
linux·数据库·gpu·驱动
nVisual1 小时前
01-环境监控集成方案
运维·服务器·开发语言·网络·数据库·数据中心布线·综合布线管理软件
早点睡啊Y1 小时前
精读 LangChain 官方文档(三):
服务器·数据库·langchain
zzzzzz3101 小时前
当老板说「数据库里加个字段就行了」时,我在想什么——一个后端开发的奇葩需求大赏
数据库·人工智能·产品经理