‘壹’ 求解:用sql语句书写下列数据库商品查询命令(每道题5分)
1. 查询所有商品的商品名、单价、数量;
Select商品名,单价,数量
From 商品 ----------、 改为, 号即可
2. 查询北京的仓库信息;
1种方法Select * from 仓库 where 仓库名=’北京’
2种方法Select仓库号,仓库名,地址,面积
From 仓库
Where 仓库名=’北京’
(哪个对) -------------都对
3. 查询面积不低于100的仓库号及地址;
Select仓库号,地址
from 仓库
where面积>=100 ------------ok
4. 检索进货超过60天的商品情况;
-----------这个不对得改
select * from 商品 where datediff(day,进货日期,getdate())>=60
5. 核算所有商品的总价,并填入总价字段;
-----select sum(总价) as 总价 from 商品
6. 按总价降序查询商品名、单价、数量和总价;
Select 商品名,单价,数量,总价 from 商品 order by 总价DESC
---------0k
7. 查询北京仓库中的商品信息;
--这句也不对
select * from 商品 where 仓库号=(select 仓库号 from 仓库 where 仓库名=‘北京’)
8. 删除2006年1月1日之前进货的商品记录;
---------这句也不对
Delete from 商品 where 进货日期<’2006-1-1’
9. 查询电视机的商品信息并将查询结果存入表TV中;
select * into TV from 商品 where 商品名='电视机'
10. 查询面积最大的仓库名及其中存放商品的名称和进货日期。
select 商品名称,进货日期,仓库名 from 商品 left join 仓库 on 商品.仓库号=仓库.仓库号 where 仓库号=(select top 1 仓库号 from 仓库 order by max(仓库面积)desc)
--------------注意 我期中的 括号和逗号 有的是中文 会报错
‘贰’ SQL语句查询一个商品有多种分类的语句
select 商品编号,count(商品名) from 表 group by 商品编号
‘叁’ 根据下面所给的商品库,写出SQL语句
提示:两个表中缺少商品名称字段,建议加在商品表1中或另建数据表。
1) select 商品代号,count(*)
from 商品表1
where 数量 between 10 and 20
group by 商品代号
2) select 分类号,sum(数量) as 总数量
from 商品表1
group by 分类号
3) select * from 商品表1 where 单价 < (select avg(单价) from 商品表1)
4) select t1.商品代号,t2.产地,sum(t1.数量) as 总数
from 商品表1 t1,商品表2 t2
where t1.商品代号 = t2.商品代号
group by t1.商品代号,t2.产地
‘肆’ SQL 分类汇总查询语句
select
ROW_NUMBER()
over(order
by
a.dept)
序号,
a.dept
部门,
a.合计,
b.个数01,
c.个数02,
d.总数
from
(select
dept,SUM(pay)
合计
from
t
where
zt='01'
or
zt='02'
group
by
dept)
a,
(select
dept,COUNT(pay)
个数01
from
t
where
zt='01'
group
by
dept)
b,
(select
dept,COUNT(pay)
个数02
from
t
where
zt='02'
group
by
dept)
c,
(select
dept,COUNT(pay)
总数
from
t
group
by
dept)
d
where
a.dept=b.dept
and
b.dept=c.dept
and
c.dept=d.dept
参照楼上的写法,改进一下有:
select
ROW_NUMBER()
over(order
by
dept)
序号,
dept
as
部门,
sum(case
when
zt='01'
OR
zt='02'
then
pay
else
0
end)
合计,
sum(case
when
zt='01'
then
1
else
0
end)
as
个数01状态,
sum(case
when
zt='02'
then
1
else
0
end)
as
个数02状态,
count(*)
as
总数
from
t
group
by
dept
‘伍’ ecshop批量删除“商品分类”的SQL查询语句
直接用数据库工具链接进去。
再数据库服务器提供商那边,肯定有这样的工具。
进去之后先找到存这个信息的表
然后delete table 表 就好了。
‘陆’ SQL对商品进行分类,且统计各类别销售出的总数量。
select DB_KC_XS.SP_Name,DB_KC_XS.SP_Price,sum(DB_KC_XS.SP_Num) as sp_num,DB_LB.LB_MC from DB_KC_XS,DB_LB where DB_KC_XS.LB_ID=DB_LB.LB_ID group by DB_KC_XS.SP_Name,DB_KC_XS.SP_Price,DB_LB.LB_MC order by SP_Num desc
而且,老兄, 铅笔 应该是
铅笔 2 3 办公用品
‘柒’ 使用sql语句实现分类查询怎么写sql语句
你给的这张图都有点问题吧 类别和分类名称 都在一个列里面 怎么去关联啊
select "分类名称" from 表名
where "类别" = "百货"
‘捌’ MSSQL 通过分类树,任意选择分类,查询分类下的所有产品.求高效SQL语句
首先LZ这么复杂的问题,就给这点分,少说也给个几万财富,或是支付点咨询费。O(∩_∩)O
=========================================================================
首先你这个就10万单品,不是太多。
使用中间表聚集的方式就可以了,但是又要兼顾实时性所以我就用索引视图了,如果数据库版本低可以维护一个表,其实维护表可以用外键。更好一些。
withPNoSec(PNO)as
(
select'100409%'unionall
select'040205%'unionall
select'010107%'
)
select
P.*
fromPNoSecA
innerjoindbo.VPNoProRelBon(B.PNOlikeA.PNO)
innerjoindbo.ProctPon(B.PID=P.ID)
whereP.Namelike'欧莱雅%'
你的程序就是构建SQL片断(管理分类不能有重复)
如果数据库版本低,可以使用临时表的方式。这个你自己拿捏吧。
以上方案小巧灵活,应对几十万单品不在话下。
‘玖’ sql查询商品类别编号为4的商品价格比1号中所有商品价格都大的商品的编号,名称,类别号,和价格
select编号,名称,类别号,价格
from商品表a
wherea.类别编号=4
and价格>all(select价格from商品表bwhereb.类别编号=1)
‘拾’ sql语句分类汇总,排序查询语句怎么实现
select商品id,sum(商品数量)商品数量from表名groupby商品idorderbysum(商品数量)desc
这样试试