1. drop table class
  2. create table class (
  3. classId nchar(6) primary key not null,
  4. cName nvarchar(20)
  5. )
  6. insert into class
  7. values('','自动化1班')
  8. insert into class
  9. values('','计算机1班'),
  10. ('','计算机2班'),
  11. ('','自动化2班')
  12.  
  13. select * from class
  14.  
  15. delete class where classId=''
  16. delete class where classId=''
  17. delete class where classId=''
  18. delete class where classId=''
  19.  
  20. update class set cName='自动化3班'
  21. where classId=09034
  22.  
  23. alter table student
  24. alter column classId nchar(6)not null
  25.  
  26. alter table student --给studentclassId属性增加一个外键
  27. add constraint classId foreign key(classId) references class(classId)
  28.  
  29. alter table student --删掉该外键约束
  30. drop constraint classId
  31.  
  32. --然后才能删掉class
  33. drop table class
  34.  
  35. select * from course
  36. select * from score
  37. select * from student
  38. select * from teacher
  39.  
  40. --检查学号为107的学生的课程名,任课老师
  41. select ci.cName,ti.teaName from student as si
  42. inner join score as sco on sco.stuId=si.stuId
  43. inner join course as ci on ci.cId=sco.cId
  44. inner join teacher as ti on ti.teaId=ci.teaId
  45. where si.stuId=107
  46.  
  47. --检索王同学不学习且不助教的任课老师和课程名
  48. select ti.teaName,ci.cName from course as ci
  49. inner join teacher as ti on ti.teaId=ci.teaId
  50. except (
  51. --王同学学习的课程及任课老师
  52. select ti.teaName,ci.cName from student as si
  53. inner join score as sco on sco.stuId=si.stuId
  54. inner join course as ci on ci.cId=sco.cId
  55. inner join teacher as ti on ci.teaId=ti.teaId
  56. where si.stuName like '王%'
  57. union
  58. --王同学助教的任课老师的课
  59. select ti.teaName,ci.cName from course as ci
  60. inner join teacher as ti on ci.teaId=ti.teaId
  61. where ti.teaWork='助教' and ti.teaName like '王%'
  62. )
  63.  
  64. --检索至少选修两门课程的学生学号
  65. select sco.stuId,COUNT(*) from score as sco
  66. group by sco.stuId having COUNT(*)>1
  67.  
  68. --子查询
  69. --按学号列出每个学生所选修课程中最高分的课程名称及其分数
  70. select si.stuId,ci.cName,sco.score
  71. from student as si
  72. inner join score as sco on sco.stuId=si.stuId
  73. inner join course as ci on ci.cId=sco.cId
  74. inner join teacher as ti on ci.teaId=ti.teaId
  75. where sco.score>=
  76. (
  77. select MAX(ssco.score) from student as ssi
  78. inner join score as ssco on ssco.stuId=ssi.stuId
  79. inner join course as cci on cci.cId=ssco.cId
  80. inner join teacher as tti on cci.teaId=tti.teaId
  81. where ssi.stuName=si.stuName
  82. )
  83. order by si.stuId asc

sql server 基础语法4 实践练习+子查询的更多相关文章

  1. Sql Server 基础语法

    来自:http://www.cnblogs.com/AaronYang/archive/2012/04/24/2468093.html Sql Server 基础语法 -- 查看数据表 select  ...

  2. [SQL] SQL SERVER基础语法

    Struct Query Language 1.3NF a.原子性 b.不能数据冗余 c.引用其他表的主键 2.约束 a.非空约束 b.主键约束 c.唯一约束 d.默认约束 e.检查约束 f.外键约束 ...

  3. 九、Sql Server 基础培训《进度9-复杂查询练习》(实际操作)

    知识点: 复杂查询1:统计全校有多少个男生.有多少个女生? 写法1(分组): select sex as 性别,count(*) as 人数 from student group by sex 写法2 ...

  4. SQL夯实基础(四):子查询及sql优化案例

    首先我们先明确一下sql语句的执行顺序,如下有前至后执行: (1)from  (2) on   (3) join  (4) where  (5)group by  (6) avg,sum...  (7 ...

  5. sql server 基础语法2

    别名,选择,查询,排序,去重,筛选 select * from UserInfo as ui --起别名 select UserName,UserPwd --指定选择的列 from UserInfo ...

  6. SQL Server基础知识

    1.SQL Server表名为什么要加方括号? 这个不是必须要加,但表名或字段名如果引用了sqlserver中的关键字,数据库会不识别这到底是关键字还是表名(或字段名)时就必须要加. 比如,一个表名叫 ...

  7. SQL SERVER With语法[转]

    今天在论坛上看到一个举例,关于sql server 的示例.1/25/50/100美分,多少种可能拼凑成2美元. 看了其中第一条语法,放在SQL SERVER中测试,发现真的列举出所有组合成2美元的方 ...

  8. SQL server存储过程语法及实例(转)

    存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程cr ...

  9. SQL server基础知识(表操作、数据约束、多表链接查询)

    SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...

随机推荐

  1. JS中数据结构之集合

    集合(set)是一种包含不同元素的数据结构.集合中的元素称为成员.集合的两个最重要特性是:首先,集合中的成员是无序的:其次,集合中不允许相同成员存在.当你想要创建一个数据结构用来保存一些独一无二的元素 ...

  2. LintCode之奇偶分割数组

    题目描述: 我的分析:题目要求将奇数放在偶数的前面,没有要求将奇数或偶数排序,因此我可以设置两个指针,一个(i)指向数组第一个数字,另一个(j)指向数组的最后一个数字,因为奇数要放在前面,所以从后往前 ...

  3. AIZU 2560 [想法题]

    表示敲完多项式乘法&高精度乘法两道FFT模板题后就开始来磕这题了 这题相对而言应该不算模板题 不过神犇们肯定还是一眼看穿 如果原OJ访问速度较慢的话可以考虑戳这里 http://acm.hus ...

  4. Flink容错机制(checkpoint)

    checkpoint是Flink容错的核心机制.它可以定期地将各个Operator处理的数据进行快照存储( Snapshot ).如果Flink程序出现宕机,可以重新从这些快照中恢复数据. 1. ch ...

  5. PHP将mysql数据表转换为excel文件

    测试代码: <?php $DB_Server = "127.0.0.1"; $DB_Username = "root"; $DB_Password = & ...

  6. 《单词的减法》state1~state17(第一遍学习记录)

    单词的减法 2016.05.18 state 1 accordingly 因此,相应地,对应地 advisory 顾问的,劝告的 annoy 打扰,干扰,使恼怒 anticipate/particip ...

  7. 深入理解javascript原型和闭包(3)——prototype原型 (转载)

    深入理解javascript原型和闭包(3)——prototype原型   既typeof之后的另一位老朋友! prototype也是我们的老朋友,即使不了解的人,也应该都听过它的大名.如果它还是您的 ...

  8. MongoDB Windows之MSI安装

    MSI安装 下载地址:https://www.mongodb.com/download-center/community Version根据自己所需要的版本下载,OS根据自己电脑选择(我是Window ...

  9. luoguP1080 国王游戏 题解(NOIP2012)(贪心+高精)

    luoguP1080 国王游戏 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include& ...

  10. 在$CF$水题の记录

    CF1158C CF1163E update after CF1173 很好,我!expert!掉rating了!! 成为pupil指日可待== 下次要记得合理安排时间== ps.一道题都没写的\(a ...