sql中 in的用法

sql中 in的用法,第1张

你现在的这个要求一般不用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)

SELECT FROM 表名 WHERE 字段名 IN(区间);
比如SELECT FROM tb_user u WHERE uuser_id in(1,2,3);查询tb_user表的user_id等于1或2或3。好像是一个区间

呵呵……刚学的这个 买弄一下:
在SQL 嵌套查询中 IN是取数据集需要通过查询得到的,而当数据集中数据唯一时可以将 IN 换成‘=’。例中第一个必须为IN 第二个可以是IN也可以是= 。
例;SELECT 学号,姓名
FROM 学生
WHERE 学号 IN( SELECT 学号
FROM 选课
WHERE 课程号 =(SELECT课程号
FROM课程
WHERE 课程名=‘高等数学’));


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13367855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-23
下一篇 2023-07-23

发表评论

登录后才能评论

评论列表(0条)

保存