日期:2014-05-16  浏览次数:20487 次

oracle多列子查询的实现

?

oracle多列子查询是oracle数据库中的一种查询方式:

?

多列子查询

oracle子查询一般都是返回单列,实际上数据库对此并没有进行限制,子查询也可以返回多列.oracle多列子查询的例子:
检索每种产品在其类型中价格最低的产品:
步骤:

1.通过分组查询,统计每类产品的最低价格:

select product_type_id,min(Price) from products group by product_type_id
结果为:

PRODUCT_TYPE_ID MIN(PRICE)
--------------- ----------
????????????? 1?????????????????????? 19.95
????????????? 2?????????????????????? 13.95
????????????? 3?????????????????????? 12.99
????????????? 4?????????????????????? 10.99
?????????????????????????????????????? 13.49

2. 然后再扫描产品表中每行数据,看当前行的类别编辑与价格是否属于上面子查询中的一项;
完整查询:

select product_id,product_type_id,name,price? from products? where? (product_type_id , price)? in? (select product_type_id , min(price)? from?? products? group by?? product_type_id)