一个多表嵌套查询的sql语句
select batch_no "批次号",get_id "分类" from (
select(
select plan1.batch_no from product_plan plan1 where plan1.item_no=(select head1.product_code from wo_head head1 where head1.order_no =bbb)) batch_no,
(select decode(get_id,'BUY','外购件','MAK','自制件','MB','未定') from item where item_no= aaa) get_id
from (select req.item_no aaa,req.order_no bbb from process_req req where req.status_id='C'and req.order_no in(select head.order_no from wo_head head where head.batch_no in (select batch_no from product_plan) or head.product_code in ( select item_no from product_plan )))) order by qty desc
相关文档:
基本的Sql编写注意事项
尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替。
不用NOT IN操作符,可以用NOT EXISTS或者外连接+替代。
Oracle在执行IN子查询时,首先执行子查询,将查询结果放入临时表再执行主查询。而EXIST则是首先检查主查询,然后运行子查询直到找到第一个匹配项。NOT EXISTS比NOT IN效率 ......
SQL 中的主键的作用:
能够唯一表示数据表中的每个记录的【字段】或者【字段】的组合就称为主码(主键)。
作用
1、主键唯一的识别每一记录;
2、主键将记录和存放在其他表中的数据进行关联。在这一点上,主键是不同表中各记录之间的简单指针。
若有两个表A,B,key是A的主键,而B中也有key字段,则key就是表B的外键。
A ......
通过“添加删除程序”里并不能完全删除SQlL server。
通过下面的命令,完全反安装SQL server 2005
d:\Setup.exe
/
qb REMOVE
=ALL
INSTANCENAME
=<
InstanceName
>
默认实例的名字是MSSQLSERVER
引用文章地址:http://www.cnblogs.com/jvstudio/archive/2010/01/17/1650089.ht ......
废话不多说,上代码
SELECT k
from (
SELECT 'shanghai' AS k from DUAL
UNION ALL
SELECT 'dalian' AS k from DUAL
UNION ALL
SELECT 'beijing' AS k from DUAL
)
ORDER BY CASE
WHEN k = 'beijing'
......
1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.
(低效)
SELECT … from EMP E WHERE SAL > 50000 AND JOB = ‘MANAGER’ AND 25 < (SELECT COUNT(*) from EMP WHERE MGR=E. ......