
在asp中有个for里面有in的用法
如
i=10
for each x in i'循环定义变量x,到i,这儿是指数字的。
next
也或是
file=split("a,b,c,d",",")
for each x in file'这儿是指数组的
next
在sql语句中也有个in的用法,但sql并不一定非要在asp中使用。
如
select from [table1] where id in (1,3,5,7,8)
这条sql语句会列出数据表table1中的id为1,3,5,7,8这些记录。
你现在的这个要求一般不用in
假如你说的大类C是指大类的名称是"C",
则用下面的语句:
select
c
from
category
a,category
b,
product
c
where
aname='C'
and
apid=0
and
bpid=acid
and
ccid=bcid
首先从category中取出name为'C'且pid为0的数据(得到cid),
表映射到a;
然后以自联,再从category中取得pid为a的cid的数据(也就是大类C中的所有小类,表映射到b;
最后再关联产品表product,
取得cid为b的cid的所有产品,表映射到c
当然,
如果你所说的C大类,
直接就知道其id号,
就像你给的例子中直接知道了10,
那么"自联"这步就不需要了
-------------------------------
如果非要用in,
则按下面的方式:
select
from
product
where
cid
in
(
select
bcid
from
category
a,category
b
where
aname='C'
and
apid=0
and
bpid=acid
)
-------------------------------
另外,
in
还用在下面这种情况,
比如:
你想取得1,3,8,9这四个小类的所有产品,
则可以用:
select
from
product
where
cid
in
(1,3,8,9)
不知道楼主是要怎么用:
如果几个in是或且非的条件关系是可以的
如 select from table1
where a in (1,2)
and b in(select b from table2)
如果想多个字段来in一个集合就不行了,除非用and分开
另外你可以考虑使用extends 来实现多字段分别关联取值
---数据库:oracle
这个问题不太明确,in,谓词,用来查找属性值属于指定集合的元组 ,可以作为一个where条件 select from table where id in ('1','2'),还可以组合成关键字;ON 是连接时候的条件 join on 两个表的关系 ;wiht可单独使用,提供不同功能,例如 with chenk option等,还有一种常用的用法是 with as,
WITH 通常与AS连用,也叫做子查询部分。用法:
1) 可用来定义一个SQL片断,该片断会被整个SQL语句所用到。
2) 为了让SQL语句的可读性更高
3) 也有可能是在UNION ALL的不同部分,作为提供数据的部分。特别对于UNION ALL比较有
用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本
太高,所以可以使用WITH AS短语,则只要执行一遍即可。
例如:下面两种表达的是同一种意思:
①with alias as (select from pra)
②select from pra;
没有什么区别,两者都是包含的意思,但是esists的效率比in要高。建议别用in,影响效率 ,如果只有两三个条件,就用or代替 ,如果值 比较多,就用exists例如 select from table where ( name = '1' or name ='2') 别写成name in ('1','2')如果数据量比较大select from table where name exists (select name from table2);
以上就是关于ASP中关于IN的用法全部的内容,包括:ASP中关于IN的用法、sql中 in的用法、sql查询条件中 in可以用多个字段吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)