sql server 基础语法4 实践练习+子查询
drop table class
create table class (
classId nchar(6) primary key not null,
cName nvarchar(20)
)
insert into class
values('','自动化1班')
insert into class
values('','计算机1班'),
('','计算机2班'),
('','自动化2班') select * from class delete class where classId=''
delete class where classId=''
delete class where classId=''
delete class where classId='' update class set cName='自动化3班'
where classId=09034 alter table student
alter column classId nchar(6)not null alter table student --给student的classId属性增加一个外键
add constraint classId foreign key(classId) references class(classId) alter table student --删掉该外键约束
drop constraint classId --然后才能删掉class
drop table class select * from course
select * from score
select * from student
select * from teacher --检查学号为107的学生的课程名,任课老师
select ci.cName,ti.teaName from student as si
inner join score as sco on sco.stuId=si.stuId
inner join course as ci on ci.cId=sco.cId
inner join teacher as ti on ti.teaId=ci.teaId
where si.stuId=107 --检索王同学不学习且不助教的任课老师和课程名
select ti.teaName,ci.cName from course as ci
inner join teacher as ti on ti.teaId=ci.teaId
except (
--王同学学习的课程及任课老师
select ti.teaName,ci.cName from student as si
inner join score as sco on sco.stuId=si.stuId
inner join course as ci on ci.cId=sco.cId
inner join teacher as ti on ci.teaId=ti.teaId
where si.stuName like '王%'
union
--王同学助教的任课老师的课
select ti.teaName,ci.cName from course as ci
inner join teacher as ti on ci.teaId=ti.teaId
where ti.teaWork='助教' and ti.teaName like '王%'
) --检索至少选修两门课程的学生学号
select sco.stuId,COUNT(*) from score as sco
group by sco.stuId having COUNT(*)>1 --子查询
--按学号列出每个学生所选修课程中最高分的课程名称及其分数
select si.stuId,ci.cName,sco.score
from student as si
inner join score as sco on sco.stuId=si.stuId
inner join course as ci on ci.cId=sco.cId
inner join teacher as ti on ci.teaId=ti.teaId
where sco.score>=
(
select MAX(ssco.score) from student as ssi
inner join score as ssco on ssco.stuId=ssi.stuId
inner join course as cci on cci.cId=ssco.cId
inner join teacher as tti on cci.teaId=tti.teaId
where ssi.stuName=si.stuName
)
order by si.stuId asc
sql server 基础语法4 实践练习+子查询的更多相关文章
- Sql Server 基础语法
来自:http://www.cnblogs.com/AaronYang/archive/2012/04/24/2468093.html Sql Server 基础语法 -- 查看数据表 select ...
- [SQL] SQL SERVER基础语法
Struct Query Language 1.3NF a.原子性 b.不能数据冗余 c.引用其他表的主键 2.约束 a.非空约束 b.主键约束 c.唯一约束 d.默认约束 e.检查约束 f.外键约束 ...
- 九、Sql Server 基础培训《进度9-复杂查询练习》(实际操作)
知识点: 复杂查询1:统计全校有多少个男生.有多少个女生? 写法1(分组): select sex as 性别,count(*) as 人数 from student group by sex 写法2 ...
- SQL夯实基础(四):子查询及sql优化案例
首先我们先明确一下sql语句的执行顺序,如下有前至后执行: (1)from (2) on (3) join (4) where (5)group by (6) avg,sum... (7 ...
- sql server 基础语法2
别名,选择,查询,排序,去重,筛选 select * from UserInfo as ui --起别名 select UserName,UserPwd --指定选择的列 from UserInfo ...
- SQL Server基础知识
1.SQL Server表名为什么要加方括号? 这个不是必须要加,但表名或字段名如果引用了sqlserver中的关键字,数据库会不识别这到底是关键字还是表名(或字段名)时就必须要加. 比如,一个表名叫 ...
- SQL SERVER With语法[转]
今天在论坛上看到一个举例,关于sql server 的示例.1/25/50/100美分,多少种可能拼凑成2美元. 看了其中第一条语法,放在SQL SERVER中测试,发现真的列举出所有组合成2美元的方 ...
- SQL server存储过程语法及实例(转)
存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程cr ...
- SQL server基础知识(表操作、数据约束、多表链接查询)
SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...
随机推荐
- mybatis批量生成
使用了mybatis-generator后,寻找只写一个table标签就可以全部生成的方法 下载mybatis-generator-core-1.3.2-bundle.zip 解压后打开docs 发现 ...
- UILabel How to set background image
UILabel *myLabel=[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 20)]; UIImage *img = [UIImage ...
- POI 讀取EXCEL
/*** 獲取單元格數值* * @param cell* @return*/private String getCellValue(Cell cell) {String cellValue = &qu ...
- iview+vue 使用中遇到的问题(表格、select、radio)
1.iview+vue中,对表头的动态设置: iview表头若是需要动态设置,可以有两个方法,第一种: children: [ { title: '2017年', align: 'center', k ...
- upc组队赛14 Bus stop【签到水】
Bus Stop 题目描述 In a rural village in Thailand, there is a long, straight, road with houses scattered ...
- maven(二),Linux安装maven3.5.3及配置
Linux系统,ubuntu-16.04.4,安装maven3.5.3 一.创建文件夹 注意Linux用户,这个如果不是root用户,命令前面需要加:sudo //创建一个目录 mkdir /usr/ ...
- Unity中文本AssetBundle的解析
Unity在其安装目录下提供了许多实用的小工具,就存放在unity安装目录下的:Editor/Data/Tools, 其中该路径下的WebExtract.ext和binary2text.exe可以用 ...
- java File I/O
File类: 常用方法: boolean exists( ):判断文件或目录是否存在 boolean isFile( ):判断是否是文件 boolean isDirectory( ):判断是否是目录 ...
- springCloud的使用04-----熔断器hystrix的使用
1. restTemplate+ribbon使用hystrix 1.1 引入依赖 <!-- 配置hystrix断路器 --> <dependency> <groupId& ...
- docker-bridge network
根据下面这图示,可以了解两个container之间是如何通信的 通过ip link 和 ip a可以看到本地有个docker0 link. [root@localhost ~]# ip link : ...