A. 一道Oracle的sql语句编写题
A、select abs(sum(case when dept='Java' then 1
when dept='C++' then -1
end)) as Java专业和C++专业相差的人数
from student
where
dept ='Java' or dept ='C++';
B、select name,age from student
where age >(select max(age) from student where dept ='Java')
C、
select * from
(
select name, age from student
where age >(select avg(age) from student)
order by age
)
where rownum<=3
B. oracle中sql语句的写法
oracle中没有limit,mysql的limit 0,1在oracle中的等价语句是rownum<=1.
C. Oracle的SQL/Plus语句编写,谢谢啦、、、(最后使用spool语句保存整个命令运行过程,形成答案给我)
你第三行最后少个分号
再一个,create的时候不用提交,commit可去掉
D. oracle 编写SQL语句问题
--这个简单吧直接用count(会议日期)groupby会议室名称就行了吧
selectx.会议室名称,count(x.会议日期)预订次数
from(selecta.hysmc会议室名称,(to_char(b.lasttime,'yyyy-mm-dd'))会议日期
fromoa2_Reservemeetingb
leftjoinmisbkjt1018.eg_hysinfoa
ona.slid=b.slid)x
groupbyx.会议室名称
E. sql语句 oracle 10g习题
select 姓名,出生日期,avg(成绩)over(partition by 班级) as 平均成绩
from 学生信息;
根据你的问题,只能写成这样了,不过要提醒一句你的想法很有问题:
1、【由“班级”列汇总数据,然后输出各班的平均成绩】
根据这个要求一个班级只能出现一个平均成绩,假设一个班有50名同学,最后汇总出来的数据就是一条。
2、由于【1】的原因,显示【“姓名”和“出生日期”列】是不应该的,50个学生的信息显示谁的?
3、我写的sql是把每一个学生的信息全显示了,并在每一条信息后面追加上班级的【平均成绩】,根据你的要求和数据库的限制只能这样了。
---
以上,希望对你有所帮助。
F. oracle数据库查询SQL语句的编写问题
楼上2个答的是错的,where过滤后没记录,nvl也不会用上
with t1 as (select * from table1 where id='001'),
t2 (select * from t1 union all select '暂无', '暂无' from al where (select count(*) from t1)=0)
select * from t2
G. ORACLE_sql
我很懒得做,先帮你做一个:
select a.ename,a.job,b.deptname
from emp a,dept b
where a.ename='SMITH' and a.deptno=b.deptno
H. Oracle 的SQL语句怎么编写
select a.类别 一级类别, b.类别 二级类别, c.类别 三级类别, d.类别 四 级类别 from 表名 a
join 表名 b on b.上级类别=a.类别
join 表名 c on c.上级类别=b.类别
join 表名 d on d.上级类别=c.类别
where a.类别 not in (select 上级类别 from 表名)