设为首页 加入收藏

TOP

分享一些简单的SQL查询面试题
2018-06-12 08:43:24 】 浏览:19
Tags:分享 一些 简单 SQL 查询 试题

分享一些简单的SQL查询面试题

/*   
    3. 在StudentInfo数据库中,用DDL进行下列查询操作  
*/  
/*--单表查询-- */  
--1)查询全体学生的学号、姓名、性别、出生日期及所在系。  
USE StudentInfo;  
SELECT * FROM Student;  
  
2)查询全体学生的选课情况,其成绩列值都加5,并为各列设置中文的别名。  
SELECT Sno '学号',Cno '课程号',Grade+5 '成绩'  
FROM SC;  
  
3)显示所有选课学生的学号,并去掉重复行。  
SELECT DISTINCT Sno FROM Student;  
  
4)查询学生选课成绩在80~90分之间的学生的学号、课程号、成绩。  
SELECT * FROM SC WHERE Grade between 80 and 90;  
  
5)查找姓名以S开头的所有学生的学号、姓名。  
SELECT Sno,Sname FROM Student   
WHERE Sname like 's%';  
  
6)查询有考试成绩(即成绩不为空值)的学生的学号、课程号。  
SELECT Sno,Cno FROM SC   
WHERE Grade is not null;  
  
7)查询计算机系(计科0701)年龄在18岁以上的学生的学号、姓名。  
SELECT Sno,Sname FROM Student   
WHERE Sage>18 and Sdept='CS0701';  
  
--8)求选修课程超过2门课的学生学号、平均成绩和选课门数,并按平均成绩降序排列  
SELECT Sno,AVG(Grade) AvgGrade,COUNT(cno) '选课门数'  
FROM SC  
GROUP BY Sno HAVING COUNT(*)>=2  
ORDER BY AvgGrade desc;  
  
/*--查询及更新-- */  
  
--9)查询每个学生的学号、姓名、选修的课程名、成绩。(连接查询)  
SELECT Student.Sno,Sname,Cname,Grade FROM Student,Course,SC   
WHERE Student.Sno=SC.Sno and Course.Cno=SC.Cno;  
  
--10)查询与Sue在同一个系学习的所有学生的学号和姓名。(嵌套查询)  
SELECT Sno,Sname FROM Student   
WHERE Sdept in(  
    SELECT Sdept FROM Student   
    WHERE Sname='Sue'  
    );  
  
--11)查询选修了课程名为English的课程并且成绩大于80分的学生学号、姓名。(可改为嵌套查询)  
SELECT Student.Sno,Sname FROM Student,Course,SC   
WHERE Student.Sno=SC.Sno and Course.Cno=SC.Cno and Cname='English' and Grade>80;  
  
/* 12)向Student表中添加一个学生记录,学生学号为20010115,姓名为Stefen ,性别为男,  
年龄为25岁,所在系为艺术系Art。*/  
INSERT INTO Student  
VALUES('20010115','Stefen','男',25,'艺术系Art');  
  
--13)向SC表中添加一个学生的选课记录,学生学号为20010115,所选的课程号为C2。  
INSERT INTO SC(Sno,Cno)  
VALUES('20010115','C2');  
  
--14)将姓名为Sue的学生所在系改为计算机系。  
UPDATE Student SET Sdept='计算机系'   
WHERE Sdept in(  
    SELECT Sdept FROM Student   
    WHERE Sname='Sue'  
    );  
      
--15)将选了课程名为Database课程的学生成绩加10。  
UPDATE SC SET Grade=Grade+10  
WHERE Cno in(  
    SELECT Cno FROM Course   
    WHERE Cname='Database'  
    );  
  
--16)删除所有成绩为空值的选修记录。  
DELETE FROM SC   
WHERE Grade is null;  
  
--17)删除计算机系选修成绩不及格的学生的选修记录。  
DELETE FROM SC   
WHERE Cno in(  
    SELECT SC.Cno FROM Student,SC   
    WHERE Sdept='计算机' AND Grade<60 AND Student.Sno=SC.Sno  
    );  

编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇CentOS7下安装配置Oracle的操作步.. 下一篇sqlserver2005插入语句,insert没..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

最新文章

热门文章

C 语言

C++基础

windows编程基础

linux编程基础

C/C++面试题目