上海夜场招聘经理微信:15800307878

sql经典面试题?sql经典面试题及答案

微信号:15800307878
上海商务ktv招聘 小费800到2500 接受新人
复制微信号

  本文目录

  

  1. SQL语句面试题
  2. sql面试题
  3. sql的几个面试题

SQL语句面试题

  --查询所有同学的学号、姓名、选课数、总成绩;

  selectS.Sid,Sname,选课数=COUNT(Cid),总成绩=SUM(Score)

  fromStudentSjoinSconS.Sid=sc.Sid

   groupbyS.Sid,Sname

  --查询学过“叶萍”老师所教的所有课程的同学学号、姓名;

  selectS.Sid,Sname

   fromStudentSjoinSconS.Sid=Sc.Sid

   joinCourseConC.Cid=Sc.Cid

   jointeacherTonT.Tid=C.Tid

   whereTname='叶萍'

   groupbyS.Sid,Sname

   havingCOUNT(distinctC.Cid)=(selectCOUNT(Cid)fromCoursejointeacheronCourse.Tid=teacher.TidwhereTname='叶萍')

  --查询课程编号"002"的成绩比课程编号“001”课程低的所有同学的学号、姓名

  selectSid,Sname

   fromStudent

   whereSidin(selectA.Sid

   fromScAjoinScBonA.Sid=B.Sid

   whereA.Cid=1ANDB.Cid=2ANDA.Score>B.Score)

  --按平均成绩高到低显示所有学生的"数学"、"物理"两门课程的成绩,以下形式显示:学生ID,数学,物理,平均分

  selectSid,数学=max(casewhenCname='数学'thenScoreend),物理=max(casewhenCname='物理'thenScoreend),

  平均分=(max(casewhenCname='数学'thenScoreend)+max(casewhenCname='物理'thenScoreend))/2

   fromScjoinCourseConSc.Cid=C.Cid

   whereCnamein('数学','物理')

   groupbySid

  

  

sql面试题

  1、忍不住想说一句,因为第一题中的字段类型是【日期型】,而各种数据库操作日期型数据有不同的方法,没有一种共通的方法,所以脱离了数据库而言没有一种共通的sql。

  2、select ID,NAME,ADDRESS,PHONE,LOGDATE from T

   where ID in( select ID from T group by NAME having count(*)>1)

   order by NAME;

  3、delete from T where ID not in

  (select min(id) from T group by name);

  4、update T

   set T.ADDRESS=(select E.ADDRESS from E where E.NAME=T.NAME),

   T.PHONE=(select E.PHONE from E where E.NAME=T.NAME);

  5、这个不同的数据库也有不同的处理方法,不能脱离数据库谈了。

  如:SqlServer或者access可以使用 top

   oracle可以使用 rownum等

  ---

  以上,希望对你有所帮助。

  

sql的几个面试题

  --1.查询全部学生的姓名和所学的课程名称及成绩

  select s.Sname,o.Cname,c.Grade from Student s,enrolls c,Courses o where s.Sno=c.Sno and c.Cno=o.Cno

  --2.找出所有学生的平均成绩和所学课程门数

  select Sno,avg(grade) as'平均成绩',count(*) as'所学课程门数' from enrolls group by Sno;

  --3.找出各课程的平均成绩,按课程号分组,且只选择学生超过3人的课程的成绩

  select enrolls.Cno,cname,avg(grade) as'平均成绩' from enrolls,Courses where enrolls.cno=Courses.cno group by enrolls.Cno,cname having count(*)>=3;

  --4.找出选修了全部课程的学生的姓名

  select Sname from student where sno in(select sno from enrolls group by Sno having count(sno)=(select count(cno) from Courses))

作者:admin,本文地址:https://chenggongdao1.com/post/804.html, 文章转载或复制请以超链接形式并注明出处上海东方汇ktv

相关文章

复制成功
微信号: 15800307878
上海商务ktv招聘 小费800到2500 接受新人
我知道了