SQL语句(十七)综合练习_分组查询_内嵌查询_视图使用
Select * from Student
Select * From Course
Select * from SC --子查询 低于总平均成绩的女同学成绩
Select Grade
from Student, SC
Where Student.Sno = SC.Sno and Student.Sex = '女' and
Grade < (Select AVG(Grade) from SC) --(1).把低于总平均成绩的女同学成绩提高5%
Update SC
SET Grade = Grade * (+0.05)
From SC, Student
Where Student.Sno = SC.Sno and Student.Sex = '女' and
SC.Grade < (Select AVG(Grade) from SC) Select * from SC --(2).把SC复制为SC1
--先创建一个表,这里已经复制了,下面那个复制全部数据语句可以省略
Select *
Into SC1
From SC
--复制全部数据
Insert Into SC1
Select * From SC1 --(3)从SC1中删除刘晨所有选课记录
DELETE
FROM SC1
FROM Student
WHERE SC1.Sno = Student.Sno and Student.Sname = '刘晨' Select *
From SC1 --(4).检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,并把检索到的值送往
--另一个已存在的基本表s1(Sno,SNAME,SEX),如果s1不存在,自己创建
--先创建s1
Select * Into s1
FROM Student
--插入数据
INSERT INTO s1(Sno, SNAME, SEX)
Select distinct SC.Sno, Sname, Sex
From SC, Student
Where SC.Sno = Student.Sno and
SC.Sno NOT IN (Select Sno
From SC
Where SC.Grade < ) Select * from SC --(5)创建选课数少于3门的学生的视图SC_3(sno,sname)
Create View SC_3(sno, sname)
AS
Select SC.Sno, Sname
From SC, Student
Group by SC.Sno, Student.Sname, Student.Sno
Having Count(*) < and SC.Sno = Student.Sno --子查询 选课数少于3门的学生
Select SC.Sno, Count(*) as 选课数
From SC
Group by SC.Sno
Having Count(*) < select * From SC_3
--作业二
select * from Student
select * from Course
select * from SC --(1)取出没有选修‘操作系统’课程的学生姓名和年龄
Select distinct SC.Sno, Sname, Sage
From Student, Course, SC
Where Student.Sno = SC.Sno and Course.Cno = SC.Cno
and SC.Sno not in(
select distinct SC.Sno
From Course, SC
where Course.Cno = SC.Cno and Course.Cname = '操作系统') --(2)检索至少选修课程“数据结构”和“C语言”的学生学号。
Select distinct SC.Sno
From Course, SC
where SC.Cno = Course.Cno and Course.Cname in ('数据结构', 'C语言') --(3)检索和“刘晨”同性别并同系的同学的姓名。
select Sname
from Student
Where Sex =
( Select Sex
From Student
Where Sname = '刘晨')
and Sdept =
( Select Sdept
From Student
Where Sname = '刘晨') --(4)求选修课程名为"数据结构"课程的学生的平均年龄;
Select AVG(Sage)
from Student, Course, SC
Where Student.Sno = SC.Sno and Course.Cno = SC.Cno and Course.Cname = '数据结构' --(5)查询没有选课的学生的学号和姓名
Select Sno, Sname
From Student
Where Student.Sno not in
( select distinct SC.Sno
From Student, SC
where Student.Sno = SC.Sno )
SQL语句(十七)综合练习_分组查询_内嵌查询_视图使用的更多相关文章
- Sql语句中两个比较迷糊的概念:“连接查询” 与 “外键约束”
Sql语句中两个比较迷糊的概念:“连接查询” 与 “外键约束 Sql 中的连接查询:就是为了避免笛卡尔积,因为涉及到多表查询的化,不使用连接查询,会先将多个互相乘,求出笛卡尔积,然后在在里面查询符合的 ...
- SQL语句汇总(终篇)—— 表联接与联接查询
既然是最后一篇那就不能只列出些干枯的标准语句,更何况表联接也是SQL中较难的部分,所以此次搭配题目来详细阐述表联接. 上一篇博文说到相关子查询效率低下,那我们怎么能将不同表的信息一起查询出来呢?这就需 ...
- java:Hibernate框架3(使用Myeclipse逆向工程生成实体和配置信息,hql语句各种查询(使用hibernate执行原生SQL语句,占位符和命名参数,封装Vo查询多个属性,聚合函数,链接查询,命名查询),Criteria)
1.使用Myeclipse逆向工程生成实体和配置信息: 步骤1:配置MyEclipse Database Explorer: 步骤2:为项目添加hibernate的依赖: 此处打开后,点击next进入 ...
- SQL语句(十二)分组查询
(十二)分组查询 将数据表中的数据按某种条件分成组,按组显示统计信息 查询各班学生的最大年龄.最小年龄.平均年龄和人数 分组 SELECT <字段名表1> FROM <表名> ...
- 2019-1-11 SQL语句汇总——聚合函数、分组、子查询及组合查询
- mybatis sql in 查询(mybatis sql语句传入参数是list)mybatis中使用in查询时in怎么接收值
1.in查询条件是list时 <select id="getMultiMomentsCommentsCounts" resultType="int"> ...
- morphia 框架 mongodb内嵌查询
mongodb中存储的文档格式如下,实现查询fromdata下did和dvid为指定值的数据 { "_id": { "$oid": "553f4a9f ...
- mongodb查询返回内嵌符合条件的文档
db.T_Forum_Thread.find({ "ThreadReply.ReplyContent" : /范甘迪/ }, { "ThreadReply.$" ...
- oracle SQL语句练习MERGE、模糊查询、排序、
Oracle支持的SQL指令可分为数据操作语言语句.数据定义语言语句.事务控制语句.会话控制语句等几种类型:1.数据操作语言语句数据操作语言语句(Data manipulation language, ...
随机推荐
- bug排查
有时候让朋友,或者群友,或者同事帮忙看一样困扰你很久的bug会得到意向不到的结果. 因为他们往往不像你,已经在调试代码的过程中被一些东西给束缚了.他们会凭借自己的第一直觉来尝试解决问题,跳过你已经走的 ...
- 团队作业4——第一次项目冲刺(Alpha版本)2017.11.16
1.当天站立式会议照片 本次会议在5号公寓3楼召开,本次会议内容:①:熟悉每个人想做的模块.②:根据老师的要求将项目划分成一系列小任务.③:在上次会议内容完成的基础上增加新的任务. 2.每个人的工作 ...
- 转 C#高性能Socket服务器SocketAsyncEventArgs的实现(IOCP)
原创性申明 本文作者:小竹zz 博客地址:http://blog.csdn.net/zhujunxxxxx/article/details/43573879转载请注明出处引言 我一直在探寻一个高性能 ...
- 经纬转换成point的sql
.UPDATE xx.zd_kakou_info t,(SELECT kakou_id, kakou_lon,kakou_lat,CONCAT('POINT(' , kakou_lon ,' ',ka ...
- 微信小程序 功能函数 把数字1,2,3,4换成春,夏,秋,冬
let season =‘1,2,3’; // console.log(season.length) if (season){ if (season.length==1){ seasonChe1=se ...
- java异常处理的throw和throws的区别
1. 区别 throws是用来声明一个方法可能抛出的所有异常信息,throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理.而throw则是指抛出的一个具体的异常类型. 2.分别介绍 ...
- 一个java高级工程师的进阶
宏观方面 一. JAVA.要想成为JAVA(高级)工程师肯定要学习JAVA.一般的程序员或许只需知道一些JAVA的语法结构就可以应付了.但要成为JAVA(高级) 工程师,您要对JAVA做比较深入的研究 ...
- 小菜菜mysql练习50题解析——数据准备
附上数据准备: 学生表 create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10)); ...
- [洛谷P5081]Tweetuzki 爱取球
题目大意:有$n$个球,每一次取一个球然后放回,问期望多少次取遍所有球 题解:令$f_i$表示已经取了$i$种球,还要取的次数的期望.$f_i=\dfrac in(f_i+1)+\dfrac{n-i} ...
- 【转】一口气读懂NB-IoT
在过去的一年多,NB-IoT真的可以说是大红大紫.在通信圈里,除了说5G,就是说物联网.如果说物联网,八成就是在说NB-IoT. 在目前5G还没来的情况下,NB-IoT基本上是独领风骚.风光无限. 各 ...