永发信息网

sql中 in的用法

答案:2  悬赏:10  手机版
解决时间 2021-03-04 18:05
sql中 in的用法
最佳答案
上面的答案好像和楼主的有点出入哦,感觉怪怪的,更新过??

select * from product where cid in
(select cid from
category where pid =10 );

解决楼主的问题,直接这样就够了也很好理解
就是先在category表里面得到所有小类的cid,然后和product表连接,输出产品名

不过这里用in是方便理解的,性能上好不好还真不好说
全部回答
你现在的这个要求一般不用in.
假如你说的大类C是指大类的名称是"C", 则用下面的语句:
select c.*
from category a,category b, product c
where a.name='C' and a.pid=0
and b.pid=a.cid
and c.cid=b.cid
首先从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 b.cid
from category a,category b
where a.name='C' and a.pid=0
and b.pid=a.cid
)
-------------------------------
另外, in 还用在下面这种情况, 比如:
你想取得1,3,8,9这四个小类的所有产品, 则可以用:
select * from product where cid in (1,3,8,9)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
围头角滨海生态观光区我想知道这个在什么地方
耶稣传中文版下载地址
巴中市最好的高中是哪所
怎么取出cxLookupComboBox多列的值
梦想世界BB砸技能,怎么开格子以及掉希望掉的
屏山县大学中专招生委员会怎么去啊,有知道地
黑龙江省支持花呗支付的刷卡机加盟哪家好,代
怎么才算过了艺考?
和沐足浴这个地址在什么地方,我要处理点事
卧室装修需要注意哪些东西
江湖烤场在哪里啊,我有事要去这个地方
【杨炼】北岛、顾城、舒婷、杨炼、江河他们的
打完玻尿酸后按压了额头后红肿多久消红?额头
泸州市群众工作局我想知道这个在什么地方
迅雷该怎么…下载~…输入什么?
推荐资讯
电厂水处理主要有哪些?
qq上的会员和vip怎么允
某班主任对全班50名学生进行了作业量多少的调
什么是所谓的混动汽车电机和电控技术
尊重他人隐私是道德的期盼,尊重他人隐私,就
现有的3dmax电视机模型如何在屏幕加贴图
富丽布艺这个地址在什么地方,我要处理点事
从淘宝上买家具靠谱吗
我是大一新生、、在学校遇见了以前高中的不同
五芳面馆东昌路店怎么去啊,有知道地址的么
怎样计算一方木材能做多少方条
炫舞我之前买的用炫恋挂能上号做任务中间我把
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?