有3个表S,C,SC
S(SNO,SNAME)代表(学号,姓名)  //主键:SNO   
//多个人,多门课 3张表   ,SC 关系表
C(CNO,CNAME,CTEACHER)代表(课号,课名,教师)//主键:CNO
SC(SNO,CNO,SCGRADE)代表(学号,课号成绩)//主键:SNO+CNO

问题:
1.找出没选过“黎明”老师的所有学生名字。

select sname from s join sc on (s.sno = sc.sno) join c (c.cno = sc.cno) where c.cteacher <> 'liming';

2.列出2门以上(含2门)不及格学生名字及平均成绩。

select sname from swhere sno in (select sno from scwhere scgrade < 60 group by sno having count(*) >= 2);

3.即学过1号课程又学过2号课程所有学生的名字。

select sname from s where sno in (select sno from sc where cno = 1 and sno in (select sno from sc where cno = 2));

对于教学数据库的三个表:
 S(S#,SNAME,AGE,SEX)
 SC(S#,C#,GRADE)
 C(C#,CNAME,TEACHER)
 试用SQL查询语句完成下列查询操作
(1)统计有学生选修的课程门数
(2)求选修C4课程的女学生的平均年龄
(3)求刘老师所授的课程的每门课程的平均成绩
(4)统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
(5)检索学号比王军同学大,而年龄比他小的学生姓名。
(6)在表SC中检索成绩为空值的学生学号和课程号
(7)求年龄大于女同学平均年龄的男学生的姓名和年龄
(8)求年龄大于所有女同学年龄的男学生的姓我和年龄

对于教学数据库的三个表:
学生表 S(S#,SNAME,AGE,SEX)
选课表 SC(S#,C#,GRADE)
课程表 C(C#,CNAME,TEACHER)
 试用SQL查询语句完成下列查询操作
(1)统计有学生选修的课程门数
select count(C#)
from SC

(2)求选修C4课程的女学生的平均年龄
select avg(AGE)
from S, SC
where S.S#=SC.S# and SC.C#='C4' and SEX='女'

(3)求刘老师所授的课程的每门课程的平均成绩
select CNAME, avg(GRADE)
from SC, C
where SC.C#=C.C# and C.TEACHER='刘老师'
group by CNAME

(4)统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
select C#, count(S#) as count_s
from S, SC
where S.S# = SC.S#
having count(S#)>10
group by C#
order by count_s, C#

(5)检索学号比王军同学大,而年龄比他小的学生姓名。
select SNAME
from S,
  (select S# as S_WJ, AGE as AGE_WJ from S where S.NAME='王军') as A
where S# > A.S_WJ and AGE < A.AGE_WJ

(6)在表SC中检索成绩为空值的学生学号和课程号
select S#,C#
from SC
where GRADE is null

(7)求年龄大于女同学平均年龄的男学生的姓名和年龄
select NAME, AGE
from S,
  (select avg(AGE) as AGE1 from S where SEX='女') as A
where SEX='男' and AGE > A.AGE1

(8)求年龄大于所有女同学年龄的男学生的姓我和年龄
select NAME, AGE
from S,
  (select max(AGE) as AGE1 from S where SEX='女') as A
where SEX='男' and AGE > A.AGE1

转载于:https://www.cnblogs.com/Peacha/archive/2012/06/04/sql%e9%9d%a2%e8%af%95%e9%a2%98%e4%ba%8c.html

SQL经典面试题(二)相关推荐

  1. SQL经典面试题及答案

    转载自:http://blog.csdn.net/hwq1987/article/details/6670300 SQL经典面试题及答案 2007年07月27日 星期五 上午 08:42 1.一道SQ ...

  2. 【笔试/面试】SQL 经典面试题

    基本概念 (1)any/all,构成 where 子句的条件判断,any:表示或(or)的概念,all:则表示与(and)的概念,这两个关键字的出现是为了语句的简化: (2)先分组再做聚合,逻辑上也应 ...

  3. Hive SQL经典面试题:统计连续登陆的三天及以上的用户

    Hive SQL经典面试题 最近发现一道大数据面试经常会问的SQL题目:统计连续登录的三天及以上的用户(或者类似的:连续3个月充值会员用户.连续N天购买商品的用户等),下面就来记录一下解题思路. 要求 ...

  4. sql经典面试题50题

    总结不甚清楚的有:10,19,20,22,24,25,28,41,42 --1.查询"01"课程比"02"课程成绩高的学生的信息及课程分数 --1.1.查询同时 ...

  5. python sorted函数_Python 经典面试题 二

    1.简要描述Python的垃圾回收机制(garbage collection) Python中的垃圾回收是以引用计数为主,标记-清除和分代收集为辅. •引用计数:Python在内存中存储每个对象的引用 ...

  6. 数据库SQL经典面试题详解

    SQL面试题不外乎增删改查,对于这种类型的题目,我的经验是先把每个表的关联关系搞清楚,它们之间是通过哪些字段关联的,可以在纸上画出关联图,再去编写SQL就不会那么头大了. 下面是四张表的关联关系图: ...

  7. SQL经典面试题--留存率问题

    留存率 定义:某一天新增用户在之后的第n天仍然登录的比例,称为第n日留存率 例如:20220101新增100人, 20220102这100人中登录了60人,次日留存率为60% 20220103这100 ...

  8. 30道SQL经典笔试题及其答案解析

    前言 搭配该文章食用更佳:MySQL常用操作指令大全 欢迎在评论区对该文章进行勘误. 一.建表 create table Student(sid varchar(10),sname varchar(1 ...

  9. oracle sql经典面试题,经典SQL面试题2

    题目: 一张名为workersalary的表,要求查询出全部信息,并且salary最高的三个人按升序排列在结果的最开头,其余的人按原有顺序排列.这个sql如何写? 解答: (1)题意理解 假如原先的表 ...

最新文章

  1. ffmpeg 基本数据结构和对象: AVPacket、AVPicture、AVFrame
  2. 如何设置putty远程登录linux
  3. 应用中心最佳实践之——使用应用组完成多集群一键部署
  4. js List 对象封装【原创】
  5. ospf hello时间和dead_网络工程师_思科 | OSPF由简到难,配合命令学
  6. 编译期java_java编译期和运行期
  7. linux查看分区访问权限,linux查看分区是否开启acl权限
  8. bower——库管理工具
  9. NDTTS-II变压器综合试验系统
  10. 软件:10款免费无广告的看图软件,总有一款适合你
  11. Qt音视频开发45-视频传输TCP版
  12. 网页提示https“证书错误:导航已阻止”,无法跳转解决办法
  13. FreeMarker生成复杂word(包含图片,表格)
  14. 2 VBA链接mysql数据库步骤和代码示例
  15. 10和100Mbps以太网
  16. 20年广西赛题技能要求(服务器)
  17. 数值分析--matlab迭代求根式
  18. Dubbo的介绍以及Dubbox的区别
  19. 《数据库》数据库的备份与恢复
  20. 编程进阶一:编译器的特殊功能使用及借助编译时完成数据的初始化

热门文章

  1. php 和jsp,jsp和php哪个好?jsp和php的简单比较
  2. CCNA-第十四篇-NAT-下+链路聚合(LACP)+DHCP
  3. 【LeetCode 629】K个逆序对数组
  4. 【2018icpc宁夏邀请赛现场赛】【Gym - 102222A】Maximum Element In A Stack(动态的栈中查找最大元素)
  5. 【牛客 - 369C】小A与欧拉路(bfs树的直径)
  6. 【HDU - 1302】The Snail (模拟,水题)
  7. 4)机器学习基石笔记 Lecture4:Feasibility of Learning
  8. 计算机统考测试,计算机统考专业测试题.doc
  9. java swing 模拟发牌_用java设计一个发牌程序
  10. python本地编译器_Python学习札记(0)——Python开发环境搭载及推荐几款Python编译器...