一、
现有学生表stuInfo,班级表classInfo,表结构如下:
stuInfo表:sid学号,sname姓名,sex性别,birthday生日,age入学年龄,smoney缴费,cid班级ID
classInfo表:班级编号cid,班级名称cname
1、 查询入学年龄在18-20的女生或者未输入性别的学生信息,且年龄小的排在后面。
Select * from stuInfo where age between 18 and 20 or sex is null order by age desc;
2、 查询班级名称、学生姓名、性别、缴费(要求显示单位:元),相同班级的要放在一起,再按姓名升序排列。
Select cname,sname,sex,smoney||’’ from stuInfo,classInfo where stuInfo.cid=classInfo.cid order by cid,sname;
3、 查询各班名称和人数。
Select cname,count(*) from stuInfo,classInfo where stuInfo.cid=classInfo.cid group by cname;
4、 查询各班名称和人数,但人数必须不少于2,且人数多的放在前面。
Select cname,count(*) from stuInfo,classInfo where stuInfo.cid=classInfo.cid group by cname having count(*)>=2 order by count(*) desc;
5、 查询1980年出生的有哪些学生。
Select * from stuInfo where to_char(birthday,’yyyy’)=’1980’;
6、 查询男生和女生人数,没有输入性别的当作男生计算。
Select sex,count(nvl(sex,’’)) from stuInfo group by sex;
7、 查询没有人员的班级。
Select * from classInfo where cid not in(select distinct cid from stuInfo);
8、 查询入学年龄在20以上的学生信息。
Select * from stuInfo where age>20;
9、 查询班级平均入学年龄在20及以上的班级名称和平均年龄。
Select cname,avg(age) from stuInfo,classInfo where stuInfo.cid=classInfo.cid group by cname having avg(age)>=20;
二、
现有
部门表bm:bid部门编号,bname名称
人员表ry:rid人员编号,rname名称,bid部门编号
工资表gz:rid人员编号,sal工资金额,rq发放日期
1、 查询员工姓名、部门名称和个人总工资。
Select rname,bname,sum(sal) from ry,bm,gz where ry.rid=gz.rid and bm.bid=ry.bid group by rname,bname;
2、 查询本月发了2笔以上工资的员工信息。
多表查询sql语句面试题Select rid,count(*) from gz where to_char(rq,’mm’)=to_char(sysdate,’mm’) group by rid having count(*) >2;
3、 查询各部门的总工资。
Select bname,sum(sal) from ry,bm,gz where ry.rid=gz.rid and bm.bid=ry.bid group by bm.bname;
4、 查询2008年8月份各部门工资最高的员工信息,显示部门名称、员工姓名和员工工资。
select * from (
select rname,bname,t.* from ry,bm,
(select rid,sum(sal) s from gz
where to_char(rq,'yyyymm')='201008' group by rid) t
where ry.rid=t.rid and ry.bid=bm.bid) tt
where (bname,s)in(
select bname,max(S) from ry,bm,
(select rid,sum(sal) s from gz
where to_char(rq,'yyyymm')='201008' group by rid) t
where ry.rid=t.rid and ry.bid=bm.bid
group by bname);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。