SQL上机练习


    创建数表插入数:
    create table S
    (SNO CHAR(6) NOT NULL
    SNAME CHAR(8) NOT NULL
    SSEX CHAR(2)
    SAGE SMALLINT
    SDEPT CHAR(10)
    PRIMARY KEY (SNO)
    CHECK (SSEX'男' or SSEX'女'))
     
    create table c
    (CNO char(6)not null
    CNAME char(10) not null
    CT SMALLINT
    TNO CHAR(6)
    PRIMARY KEY (CNO)
    FOREIGN KEY (TNO) REFERENCES T(TNO))
     
    create table SC
    (SNO CHAR (6)
    CNO CHAR (6)
    SCORE SMALLINT
    FOREIGN KEY(SNO) REFERENCES S(SNO)
    FOREIGN KEY(CNO) REFERENCES C(CNO)
    CHECK(SCORE>0 AND SCORE<100))
     
    CREATE UNIQUE INDEX IX_S ON S(SNO)
     
    insert into S VALUES('95001''李勇''男'20'计算机')
    insert into S VALUES('95002''刘晨''女'19'信息')
    insert into S VALUES('95003''王敏''女'18'数学')
    insert into S VALUES('95004''张立''男'19'信息')
    insert into S VALUES('95005''欧阳锋''男'19'信息')
    insert into S VALUES('95006''欧阳震华''男'24'数学')
    insert into S VALUES('95007''刘秋明''女'19'计算机')
     
    INSERT INTO C VALUES('C1''数库'72'T1')
    INSERT INTO C VALUES('C2''数学'80'T5')
    INSERT INTO C VALUES('C3''信息系统'30'T3')
    INSERT INTO C VALUES('C4''操作系统'60'T2')
    INSERT INTO C VALUES('C5''数结构'80'T1')
    INSERT INTO C VALUES('C6''计算机网络'50'T3')
    INSERT INTO C VALUES('C7''C语言'60'T4')
    INSERT INTO C VALUES('C8''DB_Design'50'T4')
     
    INSERT INTO T VALUES('T1''李力''男''教授')
    INSERT INTO T VALUES('T2''王''女''讲师')
    INSERT INTO T VALUES('T3''刘伟''男''讲师')
    INSERT INTO T VALUES('T4''张雪''女''教授')
    INSERT INTO T VALUES('T5''张兰''女''副教授')
    INSERT INTO T VALUES('T6''王''男''助教')
     
    INSERT INTO SC VALUES('95001''C1'92)
    INSERT INTO SC VALUES('95001''C2'85)
    INSERT INTO SC VALUES('95001''C3'NULL)
    INSERT INTO SC VALUES('95001''C4'NULL)
    INSERT INTO SC VALUES('95001''C5'NULL)
    INSERT INTO SC VALUES('95001''C6'NULL)
    INSERT INTO SC VALUES('95001''C7'NULL)
    INSERT INTO SC VALUES('95001''C8'NULL)
    INSERT INTO SC VALUES('95002''C2'90)
    INSERT INTO SC VALUES('95002''C3'80)
    INSERT INTO SC VALUES('95003''C5'50)
    INSERT INTO SC VALUES('95004''C2'66)
    INSERT INTO SC VALUES('95004''C3'NULL)
    INSERT INTO SC VALUES('95005''C7'NULL)
    INSERT INTO SC VALUES('95007''C1'80)
    INSERT INTO SC VALUES('95007''C3'48)
    INSERT INTO SC VALUES('95007''C4'93)
     
    .简单查询
    查询全体学生姓名学号系
    select snamesnosdept from s
    查询全体学生详细记录
    select * from s
    查询全体学生姓名出生年份
    select snameyear(getdate())sage as 'birthday' from s
    查询选修课程学生学号
    select sno from sc
    查询年龄20岁学生姓名年龄
    select snamesage from s where sage<20
    查询考试成绩格学生学号
    select sno from sc where score<60
    查询年龄1820间学生姓名系年龄
    select snamesdept sage from s where sage between 18 and 20
     
    查询年龄2023间学生姓名系年龄
    select snamesdept sage from s where sage not between 20 and 23
     
    查询信息系数学系计算机系学生姓名性
    select sname ssex from s where sdept'信息' or sdept'数学' or sdept'计算机'
    查询信息系数学系计算机系学生姓名性
    select sname ssex from s where sdept not in ('信息''数学''计算机')
    查询学号95001学生详细情况
    select * from s where sno'95001'
    查询姓刘学生姓名学号性
    select snamesnossex from s where sname like '刘'
    查询姓欧阳命名三汉字学生姓名
    select sname from s where sname like '欧阳_'
    查询名字中第2字阳字学生姓名学号
    select snamesno from s where sname like '_阳'
    查询姓刘学生姓名
    select sname from s where sname like '[^刘]'
    查询DB_Design课程课程号学时
    select cnoct from c where cname'DB_Design'
    查询DB_开头倒数第3字符i课程详细情况
    select * from c where cname like 'DB_i__'
    查询缺少成绩学生学号相应课程号
    select snocno from sc where score is null
    查询成绩学生学号课程号(where grade is not null)
    select snocno from sc where score is not null
    查询选修课程号C2C4课程学生学号
    select sno from sc where cno'c2' or cno'c4'
    查询课程号C2C4C5课程求显示出课程号课程名(求in运算符)
    select cnocname from c where cno in ('c2''c4''c5')
    二连接查询
    1) 查询选修C2号课程学生学号姓名
    select snosname from s where sno in (select sno from sc where cno'c2')
    2)查询选课学生学号姓名选课名称成绩
    select ssnossnameccnamescscore from scsc
    3)查询学生选课成绩情况求显示学生姓名选课名称成绩查询结果存放新数表new_table
    select ssnameccnamescscore into new_table from scsc
    4)查询选修课程名C语言学生学号姓名
    select snosname from s where sno in (select sno from sc where cno in (select cno from c where cname'C语言'))
    5)查询选修课程名数结构学生姓名课程成绩
    select DISTINCT SSNOscscore from s join sc on ssnoscsno where cno in (select cno from c where cname'数结构')
     
    6)查询计算机系学生选课成绩情况求显示学生学号姓名课程号课程名称成绩
    select ssnossnameccnoccnamescscore from s join sc on ssnoscsno join c on sccnoccno where ssno in (select sno from s where sdept'计算机')
    7)查询选修C2号课程成绩90分学生学号姓名
    select snosname from s where sno in(select sno from sc where score>90 and cno'c2')
    8)查询刘晨年龄学生姓名性年龄刘晨年龄
    select snamessexsage from s where sage>(select sage from s where sname'
    9)查询选修课程未参加考试学生学号姓名课程号课程名
    select ssnossnameccnoccname from sc where sno in(select DISTINCT sno from sc where score is null)
    10)查询选修课程考试成绩格学生学号姓名课程号课程名成绩
    select ssnossnameccnoccnamescscore from s join sc on ssnoscsno join c on sccnoccno where ssno in (select sno from sc where score<60)
    三函数
    1 求男学生总数均年龄
    select count(*) as '总数'avg(sage) as '均年龄' from s where ssex'
    2 统计选修课程学生数
    select DISTINCT count(*) as '数' from sc
     
    3 计算C1号课程学生均成绩总分高分低分
    select avg(score) as '均成绩'sum(score) as '总分'max(score) as '高
    4 查询选修C1号课程学生高分数
    select max(score) as '高分' from sc where cno'c1'
     
    5 求课程号相应选课数
    select cno as '课程号'count(sno) as '数' from sc group by cno
     
    6 查询选修3门课程学生学号
    select sno from sc group by sno having count(sno)>3
     
    7 查询选修C3课程学生学号成绩分数降序排列
    select snoscore from sc order by score DESC
     
    8 查询全体学生情况结果系升序排列系中学生年龄降序
    select * from s order by sdept ASCsage
     
    四嵌套查询
    1  求C2号课程成绩高李勇学生学号成绩
    select snoscore from sc where score>(select score from sc where sno(select sno from s where sname'李勇') and cno'c2')
     
    2 查询刘晨系学学生
    select * from s where sdept in (select sdept from s where sname'刘晨')
    3 查询选修课程名信息系统学生学号姓名
    select snosname from s where sno in (select sno from sc where cno in(select cno from c where cname'信息系统'))
    带Any all谓词子查询
    4 查询系中信息系中某学生年龄学生姓名年龄
    select sname sage from s where sage5 查询系中信息系学生年龄学生姓名年龄
    select sname sage from s where sage 
    6 检索均成绩高学生学号
    select top 1sno from sc group by sno order by avg(score) DESC 
     
    带Exist谓词子查询
    7 检索学课程号C2课程学生学号姓名(谓词in)
    select snosname from s where sno  in (select sno from sc where cno'c2')
     
    8 检索学课程号C2课程学生姓名年龄(谓词all not in)
    select snosname from s where sno not in (select sno from sc where cno'c2')
     
    9 查询选修全部课程学生姓名
    select sname from s where not exists(select * from c where not exists(select * from sc where sno ssno and cnoccno))
     
    10 查询少选修学生95002选修全部课程学生号
    select snamesno from s where sno '95002' and not exists (select * from sc where sno'95002' and not exists (select * from c where ssnoscsno and sccnoccno))
     
     

    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 3 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    DBA常用Sql语句

    查看表空间的名称及大小: SQL>select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_ta...

    5年前   
    1271    0

    SQL语言学习总结

    SQL语言学习总结  暑假过的真快总感觉昨天才刚放假,还想着这个暑假怎么过时,暑假就已经去了。  这个暑假一开始我们看了浙大的sql的视频,老师给我们的要求是只要看一遍就行。刚开始看的时候还能...

    9年前   
    743    0

    技能培训国网高压上机辅导练习题4

    窗体顶端一. 单选题 (共40题,共40分) 1. 解释气压较高、距离较长的间隙中的气体放电过程可用(        )。 (1分)A.流注理论 B.汤逊理论 C.巴申定律 D.小桥理论  ★...

    3年前   
    473    0

    上机实验报告

    上机实验报告  一.     题目1.  建立一个学生档案,内容包括学号,姓名,年龄,性别,数学,物理和英语3门功课成绩。要求实现以下功能:1)        数据输入;2)        查...

    8年前   
    865    0

    信号处理上机

    XX大学硕士研究生 2014/2015 学年上机作业考试科目: 近代信号处理 课程编号: 姓名: ...

    3年前   
    512    0

    SQL中调用ORACLE存储过程

    SQL Server 调用Oracle的存储过程 收藏 原文如下:通过SQL  Linked  Server 执行Oracle 存储过程小结1 举例我们可以通过下面的方法在SQL Server...

    4周前   
    87    0

    sql查询语句学习测试答案

    第一部分SQL查询语句的学习单表查询1、--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、客户ID和雇员ID等字段的值use eeeSELECT 订购日...

    3年前   
    1131    0

    SQL数据的定义实验报告

    实验1、数据定义班级:计自班 姓名: 学号:1、 实验目的熟悉SQL的数据定义语言,能够熟练地使用SQL语句来创建和更改基本表,创建和取消索引。2、 实验内容l 用SSMS创建...

    2年前   
    628    0

    电子商务上机作业

    电子商务上机作业管理学院 专业:会计学 班级: ...

    3年前   
    1191    0

    技能培训 国网稳态上机辅导 练习题 4

    窗体顶端一. 单选题 (共40题,共69分) 1. 无损线路末端负荷阻抗等于波阻抗,且始端、末端电压相位重合的线路长度是(     )km。 (1分)A.1000 B.3000 C.4500 ...

    3年前   
    1033    0

    技能培训 国网稳态上机辅导 练习题 2

    窗体顶端一. 单选题 (共40题,共70分) 1. 两端供电网如图所示,a、 b 节点的运算负荷标于图中,首端电源的注入功率为SA1、末端电源的注入功率为SA2,不计网损时,确定功率分点出现在...

    3年前   
    1035    0

    技能培训 国网稳态上机辅导 练习题 3

    窗体顶端一. 单选题 (共40题,共71分) 1. 发电机组有功功率调整范围和调整速度是对调频厂的基本要求,从这两点看,以下哪种电厂最适合做调频厂(             ) (2分)A.火...

    3年前   
    527    0

    技能培训 国网稳态上机辅导 练习题 6

    窗体顶端一. 单选题 (共40题,共70分) 1. 在一般线路的等值电路中,可不考虑它们的分布特性,且不计(             )影响。 (2分)A.电阻 B.电抗 C.电导 D.电纳 ...

    3年前   
    549    0

    技能培训 国网稳态上机辅导 练习题 5

    窗体顶端一. 单选题 (共40题,共70分) 1. 最大负荷为千瓦,最大负荷利用小时数为小时,则全年耗电量为(             )度。 (2分)A. B. C. D.  ★标准答案:B...

    3年前   
    816    0

    技能培训 国网稳态上机辅导 练习题 1

    窗体顶端2014国网稳态上机辅导 一. 单选题 (共40题,共66分) 1. 下列数据属于升压变压器变比的是(         )。 (1分)A.110/11kV B.110/10.5kV C...

    3年前   
    525    0

    南邮dsp上机实验报告

    南京邮电大学实 验 报 告实验名称:离散时间信号与系统的时、频域表示离散傅立叶变换和z变换 数字滤波器的频域分析和实现数字滤波器的设计课程名称 数字信号处理A(双语) ...

    1年前   
    348    0

    数据库上机实验报告

    数据库上机实验报告  数据库上机实验报告  试验内容   1、 数据表的建立   基本表《简单的》带有主键   带有外码约束的(外码来自其他表或者本表)   2、 数据表的修改   添加删除列...

    10年前   
    679    0

    2011上机教学探讨

    一般院校计算机课程上机实践教学探讨   摘要:上机实践教学是计算机课程教学的主要过程,其作用至关重要,本文从教学现状、改革措施方面,提出了自己的一些看法和见解。 关键词:实践教学;教学现...

    5年前   
    815    0

    管理信息系统上机实验

    管理信息系统上机实验一 一、实验名称: 用VISIO绘制E-R图,并将E-R图转换成关系模型 二、实验目标: 1、熟练掌握某一版本的VISIO; 2、掌握概念模型的设计; 3、掌握...

    11年前   
    10718    0

    技术系上机实验报告格式

    技术系上机实验报告格式 课程名称: 班级: 实验日期: 姓名: 学号: 指导教师: 实验名称: 实验序号: 实验成绩: 一、实验目的及要求 本次上机实践所涉及并要求掌握的...

    13年前   
    22207    0