1、3.1.5 聚合函数 24第四章 变量 254.1 局部变量 264.2 全局变量 27第五章 循环语句 275.1 统计平均成绩 275.2 提分 275.3 根据成绩显示等级 27第六章 存储过程 276.1 存储过程的应用 276.1.1 系统存储过程 276.1.2 Sp_helptext的使用 276.1.3 创建存储过程 276.2 raiserror语句的应用 27第七章 exists子查询 277.1 exists子查询的应用 277.2 求银行利息 277.3 变量查询 277.4 查询考试通过情况 277.5 循环提分 277.6 通过率 27第八章 事物 278.1 使用
2、事物解决银行转账 27第九章 触发器 279.1 检测触发器 279.2 创建触发器 279.3 触发器delete运用 279.4 触发器update运用 279.5 触发器禁止修改运用 27第二章 数据查询2.1 建表和插入数据2.1.1 建立学生信息表use master使用master系统数据库if exists(select*from sysdatabases where name=studb)drop database studb检测是否有studb数据库,有则删除create database studbuse studb使用studb数据库create table class创
3、建课程表(cno char(10) primary key, -课程号cname char(50) not null, -课程名teano char(10) not null, -教师号credit char(4) not null, ctime char(50) not null)create table student1创建学生信息表(sno char(10) primary key, -学号sname char(10) not null, -姓名ssex char(2) not null, -性别sage char(2) not null, -年龄major char(10) not n
4、ull, -专业dapart char(10) not null) 系别create table teacher1(teano char(10) primary key,tname char(10) not null, -教师名tsex char(2) not null, -教师性别tdepart char(10) not null) 教授课程create table score创建成绩表(sno char(10) not null,cno char(10) not null,score int not null) 成绩2.1.2 插入信息-插入单条信息insert into student1
5、values(0811080101, 陈琦男, 22信息工商 )-插入多条信息insert into student1在student1表中插入信息select 0811080102崔雪娇女23union0811080103董朝阳数学教育数学系0811080104杜鹃计算机应用计算机系0811080105方卉20汉语言文法系insert into class在class表中插入信息0301财务管理001224 union0302供应链管理0022.2180303,生产与运作管理0032.4360304统计学0042.6320305网页制作0052.8300306操作系统原理0063.0 uni
6、on 0307数据库原理0073.20308项目管理0083.4450309web程序设计0093.535 insert into score在score表中插入信息select 0811080101, 0306 ,85 unionselect 0811080101, 0303, 90 unionselect 0811080101, 0305, 86 unionselect 0811080102, 0306, 82 unionselect 0811080102, 0304, 84 unionselect 0811080102, 0301, 81 unionselect 0811080103,
7、0306, 93 unionselect 0811080103, 0302, 79 unionselect 0811080103, 0304, 85 unionselect 0811080104, 0306, 94 unionselect 0811080104, 0308, 74 unionselect 0811080104, 0307, 86insert into teacher1在teacher1表中插入信息select 001, 卢亚君财经select 002, 李昌明select 003, 张富强select 004, 刘翠杰数信select 005, 王庆石select 006, 黄
8、立明select 007, 王纲计算机select 008, 徐伟丽select 009, 刘书霞2.2 查询运用2.2.1 数据查询-查询课程表信息select*from class-查询学生表信息select*from student1-查询教师表信息select*from teacher1-查询成绩表信息select*from score2.2.2 单表查询-(1)查询sno为0811080101学生的snameselect snamefrom student1where sno=-(2)查询ssex为女并且sdepart为工商的snamewhere ssex= and dapart=-
9、(3)查询所有学生的姓名和系别。select sname as 姓名,dapart as 系别as后的中文是别名,可以在查询结果中将别名前的名字替换成别名后的名字。-(4)查询depart为数学系的sname。where dapart=-(5)查询所有学生所在院系名称select distinct dapartdistinct是去掉重复值-(6)查询学生信息表中年龄小于和年龄大于的学生的姓名和系别select sname,dapartwhere sage21-(7)查询所有学生的平均年龄select avg(sage) as 平均成绩2.2.3 连接查询-用where语句来进行两表联接sele
10、ct s.sname,o,c.scorefrom student1 as s,score as cwhere s.sno=c.sno-用where语句来进行多表联接select student1.sno,student1.sname,o,ame,score.score,teacher1.tnamefrom student1,class,score,teacher1where student1.sno=score.sno and o=oand class.teano=teacher1.teano-内联接,用inner join内联接将stuinfo表和stumarks表联接起来from scor
11、e as cinner join student1 as s on c.sno=s.sno-用inner join内联接来进行三表联接select s.sname,ame,sc.scorefrom student1 as sinner join score as sc on (s.sno=sc.sno)inner join class as c on(o=o)-左外连接left join on,主键在左边select s.sname,sc.scoreleft join score as sc on s.sno=sc.sno-左外连接left join on 三表联接left join scor
12、e as scon (s.sno=sc.sno)left join class as con (o=o)-右外连接right join on,主键在右边from score as scright join student1 as s -右外连接right join on三表联接right join student1 as s-显示奇数行的学生信息select *from student1where sno%2-显示偶数行的学生信息where sno%2=02.2.4 操作结果集查询select cno 课程号from scoreintersect2.2.5 嵌套查询- 查询选修了这门课的所有学生的学号、姓名、年龄、院系select sno,sname,sage,dapartwhere sno in(select sno from class where cno=2.3 数据库更新-A.插入数据-向Student1表中添加一项记录:-姓名:叶问,学号:,性别:男,年龄:专业:信息管理,系别:工商0811080201叶问信息管理-B.修改数据-修改陈琦的学号为:update student1set sno=081108023where sname=-C.删除数据-删除所有工商学生的记录delete student1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1