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'
比较

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

相关推荐
雨辰AI13 小时前
完整版信创微服务国产化架构实战:Nacos+Seata+Redis + 人大金仓(生产可落地)
数据库·redis·微服务·架构·政务
网管NO.114 小时前
SQL 模糊查询 + NULL 空值。LIKE 通配符 % 和_、IS NULL
数据库
Mr. zhihao14 小时前
Redis 内存管理深度解析:过期删除与内存淘汰策略
数据库·redis·缓存
九皇叔叔14 小时前
高斯性能分析【第一天】单表执行计划分析
java·数据库·性能分析·执行计划·gauss
難釋懷14 小时前
Redis内存回收-过期key处理
数据库·redis·缓存
KaMeidebaby14 小时前
卡梅德生物技术快报|PROTAC 药物降解蛋白原理及数据库平台开发全流程
前端·数据库·其他·百度·新浪微博
是码龙不是码农14 小时前
数据库主键选型:为什么别用自增 ID?
java·数据库
IpdataCloud14 小时前
企业IT管理中,如何通过IP地址查询定位快速溯源异常终端?用IP离线库实现
服务器·网络·数据库·tcp/ip
罗超驿14 小时前
20.MySQL事务隔离级别示例详解(脏读、不可重复读、幻读)
java·数据库·mysql·面试
独泪了无痕15 小时前
MySQL中 JSON 数据类型使用指南
mysql