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

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

相关推荐
kyle~6 分钟前
CPU调度---协程
java·linux·服务器·数据库·c++20
IDOlaoluo6 分钟前
SQL Server 2017 Developer 中文版安装教程(64位 ISO 文件详细步骤)
服务器·数据库·负载均衡
一只游鱼1 小时前
Springboot+BannerBanner(启动横幅)
java·开发语言·数据库
散峰而望2 小时前
Dev-C++一些问题的处理
c语言·开发语言·数据库·c++·编辑器
Elieal2 小时前
Spring 框架IOC和AOP
java·数据库·spring
@爱学习的小趴菜2 小时前
Redis服务器配置
服务器·数据库·redis
寒秋丶3 小时前
Milvus:向量字段-二进制向量、稀疏向量与密集向量(六)
数据库·人工智能·python·ai·ai编程·milvus·向量数据库
寒秋丶3 小时前
Milvus:通过Docker安装Milvus向量数据库(一)
数据库·人工智能·docker·ai·ai编程·milvus·rag
Maỿbe4 小时前
Redis的持久化
数据库·redis·缓存
蒲公英源码4 小时前
教务管理系统源码
java·mysql