sql 如何应对子查询返回数据有多条 我就是要返回数据有多条

简介: SELECT *FROM SUSE_DEV.PROJECT_LISTINGINNER JOIN SUSE_DEV.PROJECT_AUCTION ON SUSE_DEV.PROJECT_LISTING.PROJECT_CODE on ( SELECT * FROM SUSE_DEV.PROJECT_AUCTION WHERE SUSE_DEV.PROJECT_AUCTION.GMT_START > SYSDATE) 这段SQL里的子查询是肯定会返回多条的。
 
SELECT
	*
FROM
	SUSE_DEV.PROJECT_LISTING
INNER JOIN SUSE_DEV.PROJECT_AUCTION ON SUSE_DEV.PROJECT_LISTING.PROJECT_CODE on (
	SELECT
		*
	FROM
		SUSE_DEV.PROJECT_AUCTION
	WHERE
		SUSE_DEV.PROJECT_AUCTION.GMT_START > SYSDATE
)


 


这段SQL里的子查询是肯定会返回多条的。一般来说,用ON是根本不能解决这样的问题,有些人说,可以用 

and rownum = 1
 
SELECT
	*
FROM
	SUSE_DEV.PROJECT_LISTING
INNER JOIN SUSE_DEV.PROJECT_AUCTION ON SUSE_DEV.PROJECT_LISTING.PROJECT_CODE on (
	SELECT
		*
	FROM
		SUSE_DEV.PROJECT_AUCTION
	WHERE
		SUSE_DEV.PROJECT_AUCTION.GMT_START > SYSDATE and rownum = 1

)

这样只能处理返回的值的的确确只有一条的情况,那如果我要返回的有多条呢?答案就是用in
 
SELECT
	*
FROM
	SUSE_DEV.PROJECT_LISTING
INNER JOIN SUSE_DEV.PROJECT_AUCTION ON SUSE_DEV.PROJECT_LISTING.PROJECT_CODE IN (
	SELECT
		*
	FROM
		SUSE_DEV.PROJECT_AUCTI
IN
	WHERE
		SUSE_DEV.PROJECT_AUCTION.GMT_START > SYSDATE
)
这样就可以了。有人说用exists也可以,我没有试过。有兴趣大家可以试试。 
 

目录
相关文章
|
19天前
|
SQL 存储 关系型数据库
一文搞懂SQL优化——如何高效添加数据
**SQL优化关键点:** 1. **批量插入**提高效率,一次性建议不超过500条。 2. **手动事务**减少开销,多条插入语句用一个事务。 3. **主键顺序插入**避免页分裂,提升性能。 4. **使用`LOAD DATA INFILE`**大批量导入快速。 5. **避免主键乱序**,减少不必要的磁盘操作。 6. **选择合适主键类型**,避免UUID或长主键导致的性能问题。 7. **避免主键修改**,保持索引稳定。 这些技巧能优化数据库操作,提升系统性能。
215 4
一文搞懂SQL优化——如何高效添加数据
|
1月前
|
SQL 数据可视化 数据处理
使用SQL和Python处理Excel文件数据
使用SQL和Python处理Excel文件数据
52 0
|
30天前
|
SQL 安全 数据库
第三章用sql语句操作数据
第三章用sql语句操作数据
10 0
|
1月前
|
SQL 数据库 数据库管理
SQL中如何添加数据:基础指南
SQL中如何添加数据:基础指南
24 2
|
2月前
|
SQL 数据库 数据安全/隐私保护
sql注入碰到加密数据怎么办
sql注入碰到加密数据怎么办
19 1
|
2月前
|
分布式计算 资源调度 Hadoop
Flink报错问题之Sql往kafka表写聚合数据报错如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
|
2月前
|
SQL 消息中间件 Kafka
Flink sql 问题之主动使数据延时一段时间如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
53 2
|
2月前
|
SQL Oracle 关系型数据库
Flink SQL 问题之看不到数据如何解决
Flink SQL报错通常指在使用Apache Flink的SQL接口执行数据处理任务时遇到的问题;本合集将收集常见的Flink SQL报错情况及其解决方法,帮助用户迅速恢复数据处理流程。
50 3
|
2月前
|
SQL 存储 数据库
SQL数据开发
SQL数据开发
|
2月前
|
SQL 关系型数据库 MySQL
mysql 中sql 语句查询今天、昨天、近7天、近30天、一个月内、上一月数据
mysql 中sql 语句查询今天、昨天、近7天、近30天、一个月内、上一月数据