SQL的查询问题~~~~很基础~~~~~~~~~~~

来源:百度知道 编辑:UC知道 时间:2024/06/23 18:33:04
现在已知3个表。(只列出字段。数据略)
疾病表: 疾病名称 好发期(按月份)
库房表: 药名 上月剩余量 本月使用量 非好发期储量 好发期储量
药品: 药名 生产商 售价 单疗程用量 治疗病症

要用SQL设计查询,包括简单、交叉和嵌套查询三种都要有。
只要根据上面的表。随便查询什么都行。(最好多写几条)
写得好的加分~先谢谢了!!

简单查询:(略)天简单了。

交叉查询:说白了查询结果数就是每张表记录数相乘的结果:
比如:
select * from jibingbiao,kufangbiao,yaopinbiao;
这个查询结果的每条记录将包括三个表的所有字段组合;
当然你也可以选择要查询的字段:
比如:
select jibingbiao.yaoming,yaopinbiao.yaoming,shengchanshang from jibingbiao,kufangbiao,yaopinbiao;
注意如果不同表中有相同字段名,请使用
表明.字段名格式:如:yaopinbiao.yaoming
查询所有则不用。

嵌套查询:也就是子查询,就是用一个查询的结果做条件来帅选:
比如:
select * from kufangbiao where yaoming=(select yaoming from yaomingbiao where 治疗病症='癫痫');
呵呵:不过()里面的查询只能返回一条记录,否则出错;要想查询多条记录,使用in语句
select * from kufangbiao where yaoming in(select yaoming from yaomingbiao);
意思是从 yaomingbiao这个表中查处所有yaoming,再从kufangbiao中查找yaoming再属于其的记录;

在写几条:
select A.shangyuejieyu from (select * from yaomingbiao) as A;
连接查询:
select * from kufangbiao left join yaomingbiao on kufangbiao.yaoming=yaomingbiao.yaoming;
…………………………写不完

*************************
yaomingbiao:药名表
kufangbiao:库房表
以防混