sql题目
⑴ sql题目 写一条sql语句
select year1 as year,
sum(case when season=1 then que end) season1,
sum(case when season=2 then que end) season2,
sum(case when season=3 then que end) season3,
sum(case when season=4 then que end) season4
from TABLE1
group by year1
SQL数据库中 不能直接使用 year 字段查询,表名用的 TABLE1 (不用TABLE),我用的year1,用了别名 as year 符合你查询出来的结果
有一点要声明,在SQL数据库中 year1 season都用的整型 int 然后 que带了小数点,所以用的 numeric 数字型,小数点设为一位 。这样就可以了(因为sum运算,如果是非数字型,不能运算)
PS:上面一楼的朋友 回答的 会出现 from附近语法错误,因为 sum(case when season=4 then que end) season4 后面,他多加了个逗号`。
⑵ 数据库SQL题目
第二题是说查询每科都大于80分的这个人的平均成绩还是说所有科目所有人的平均成绩?如果是后者用一个Sql语句得到结果不行吧?有高人解答吗?如果是前者,还有可能。
借用楼上的两句:
1. select convert(varchar(10),getdate(),120)
2. select name,avg(score) from table_score a
where not exists ( select 1 from table_score b where a.name = b.name and b.score <= 80 )
group by name
3.select year,sum(m1) as m1,sum(m2) as m2,sum(m3) as m3 from (
select year,case month when 1 then amount else 0 end as m1,case month when 2 then amount else 0 end as m2,case month when 3 then amount else 0 end as m3 from tabe) group by year
⑶ sql语句的题目
典型的行列转置问题:
select 日期,sum(case when 胜负='胜' then 1 else 0 end) 胜,
sum(case when 胜负='负' then 1 else 0 end) 负
from 表
group by 日期
⑷ SQL题目 懂的才来
1 A
2 C
3 C
4 C
5 C
6 A
7 C
8 D
9 A
10 A
11 B
12 D
13 A
14 A
15 B
第八题应该是D SQL-92的标准和ORACLE等数据库FROM关键字才是必须的,T_SQL
可以 使用 如下的语句 SELECT @va='111'类似的语句为变量赋值
⑸ sql server 试题
A,应该是在视图上更新,视图只可针对单一表处理,
INSTEAD OF 触发器
可以对视图创建 INSTEAD OF 触发器,以使视图可更新。将执行 INSTEAD OF 触发器,而不是执行对其定义了触发器的数据修改语句
B,是针对重新启动因服务器故障而中断的情况
B,指定为大容量加载操作持续时间获取一个表级锁
A,通过视图进行查询没有任何限制,通过它们进行数据修改时的限制也很少
--参考答案
ABBA
⑹ 谁有sql 语句练习题,越多越好!
额 我只晓得SQLServer的T-SQL
中文版SQL Server 2000开发与管理应用实例
http://www.china-pub.com/26313
都是大量项目中能用到的实例
CSDN SQL大版主的书籍,可说非常不错了
希望对你有帮助
如果还要再深入理解点原理东西
可以看下 微软技术丛书sql2005 T-SQL查询与T-SQL程序设计
⑺ sql小题目
倒也不是太难就是麻烦啊
斐波那契数列??
是
1,2,3,5,8,13
不是
1,1,2,3,5,8,13...
这样的吗?
分数少了回答的人就少,如果你开三个问题,一个问题5分相信很快会有人答的。
⑻ 一道SQL题目
选b
select into 是sqlserver根据表创建新表的语法
where 1=2 数据返回0行
⑼ SQL语句题目
createtableSC
(
SnoVArchar(10),
CnoVArchar(10),
Gradenumeric(6,2)
)
--正常情况
InsertintoSCvalues('310002',1,93)
InsertintoSCvalues('310002',2,84)
InsertintoSCvalues('310002',3,84)
InsertintoSCvalues('410004',2,83)
InsertintoSCvalues('410004',3,93)
InsertintoSCvalues('110042',1,84)
InsertintoSCvalues('110042',2,82)
--考虑只选一科的情况
InsertintoSCvalues('100001',1,82)
--考虑都是null的情况
InsertintoSCvalues('300001',1,null)
InsertintoSCvalues('300001',2,null)
--考虑一个null的情况
InsertintoSCvalues('300002',1,null)
InsertintoSCvalues('300002',2,50)
--考虑0的情况
InsertintoSCvalues('300003',1,0)
InsertintoSCvalues('300003',2,50)/*
61
计算平均成绩,要看你的定义
如:
3000021null
300002250
这表示他选课了,但是没考试,这平均是50呢还是25?
Avg()的结果是50
Sum(Grade)/COUNT(cno)的结果是25
如果成绩没有null的情况,CD都正确,如有我推荐选D
*/
SelectSno,AVG(Grade)fromSC
groupbySno
havingCOUNT(sno)>1
--平均值=总和/科数
SelectSno,sum(Grade)/COUNT(cno)fromSC
groupbySno
havingCOUNT(sno)>1
--62选C
--这用学号是查询不到结果的
SelectSno,AVG(Grade)fromSC
groupbySno
havingCOUNT(distinctsno)>1
--这用课程号是可以的
SelectSno,AVG(Grade)fromSC
groupbySno
havingCOUNT(distinctcno)>1
⑽ 一道SQL语句的题目
1.select t1.姓名,t1.学号,sum(t2.成绩 )/count(t1.学号)as 平均成绩 from 学生表 t1
inner join 选课表 t2 on t1.学号=t2.学号
2.select t1.课程编号,t1.课程名,count(t2.学号)as 人数 from 课程表 t1
inner join 选课表 t2 on t1.课程编号=t2.课程编号