一道很难的SQL语句。。
发布网友
发布时间:2022-04-08 11:05
我来回答
共1个回答
热心网友
时间:2022-04-08 12:34
①查询出版日期为“2010-8-9”之后的图书单价和作者姓名;
select
图书单价,作者姓名
from
图书,销售,作者
where
出版日期>'2010-08-10'
and
图书.图书编号=销售.图书编号
and
图书.作者编码=作者.作者编码
②
计算所有女作者各自图书的总销售额;
select
sum(图书单价*售出数量)
from 销售
where
图书编号
in(
select
图书编号
from
图书
a,作者
b
where
a.作者编码=b.作者编码
and
性别='女')
③请查询出高于平均销售额的所有图书的书名和作者姓名;
select
图书.书名,作者.作者姓名
from
图书,作者where
图书.图书编号
in(
select
图书编号
from
销售
where
图书单价*售出数量
>
(select
avg(图书单价*售出数量)
from
销售
))
and
图书.作者编码=作者.作者编码
④请查询出作者工作单位包含“大学”的所有图书的售出量;
select
销售量
from
销售,作者,图书
where
销售.图书编号=图书.图书编号
and
图书.作者编码=作者.作者编码
and
作者.工作单位
like
'%大学%'
⑤请查询年龄最大的前两位作者姓名;
select
top
2
作者姓名
from
作者
order
by
年龄
DESC
求一个比较复杂的SQL语句,字段值作为列名的方法
select @sql = @sql+' from [v_e] group by [custom]'exec(@sql)
求个SQL语句,我认为特复杂,逻辑性很强,不过高手们肯定会写!_百度知 ...
CREATE TABLE Depot(ID INT IDENTITY(1, 1) PRIMARY KEY,Name VARCHAR(10));go INSERT INTO Depot SELECT '商品仓' UNION ALL SELECT '成品一仓' UNION ALL SELECT '成品二仓';go -- 为了造测试数据,这里不自增了 CREATE TABLE Container(ID INT PRIMARY KEY,Name VARCHAR(20),DepotID INT...
一个巨难的SQL问题, 懂SQL的进...
你是什么数据库,注意日期型不能使用min,数值才行.考查点:多语句联合查询;分析:先将原表的数据安日期从小到大排序,再汇总时,得到的便是小的。select * from table,(select event_id,event_date,name from table group by name order by event_date asc) B where table.name=B.name and ta...
一个极其复杂的sql语句
我没有你的表结构,我只给你说一下思想.首先你有五个表,get(order_id,id),account(type_id,money),travel(order_id,money),finance(ord_id,money),tourise(id)有一个问题你没有说清楚,你要的是两者比较大于的记录还是小于的记录.下面是你要的SQL语句,你写的和什么以及什么都搞乱了!一定要把...
谁能解决这道SQl 题阿,比较难
后面但要在where 后面加上条件 对应你的需求就是 select count(流水号) from 表名 where 人员类别=(你设置的类别植)and 费用金额 is not null 有几个类别用几个语句 或者你用游标循环做 3,建议你在判断该人员退休的时候,将此人以前所有的数据都改成退休状态,否则很多查询会很麻烦 ...
请教一条非常难的sql查询,试试你的数据库编写水平
还有,你要统计的酒店价格、图片等信息应该使用非空约束。否则统计数据就会出错。最后。没有必要把SQL写成一句,多句的话可写的简单得多,还可以利用视图、临时表等手段来实现。多句SQL,可由存储过程来调用。而且效率要比单句直接调用要高。(非多次查询或非建立临时表的情况下)...
一条复杂的SQL语句,为什么第一次查询很慢,而第二次查询却明显快了_百...
第一次SQL要先编译,从磁盘读入缓存,再返回客户端。第二次SQL不用编译,直接运行,会省时间,最省时间的是不用再读入缓存及查找了,直接返回客户端。
超难的SQL语句怎么写
那么求出的最大值是4月,所以在比大小之前还需要转换一下月份字段的类型.完善以后的代码如下:select * from 表 a where not exists (select * from 表 where namw = a.namw and convert(int,replace([month],'月','')) > convert(int,replace(a.[month],'月','')))...
非常难的sql查询计数语句
select count(*) from(select distinct 时间字段,ip字段 from 表名 where 时间字段 between 时间1 and 时间2 group by 时间字段,ip字段 having count(*) =1);--- 以上,希望对你有所帮助。
帮忙写个sql语句,稍有难度
二楼正解 select year,(select sum(salary) from salary_year where year<=t.year) as salary from salary_year t order by year