Sql基础代码第二章数据查询.docx
- 文档编号:5466220
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:13
- 大小:159.42KB
Sql基础代码第二章数据查询.docx
《Sql基础代码第二章数据查询.docx》由会员分享,可在线阅读,更多相关《Sql基础代码第二章数据查询.docx(13页珍藏版)》请在冰豆网上搜索。
Sql基础代码第二章数据查询
Sql基础代码
目录
第一章建库建表2
1.1数据库的应用2
1.1.1创建数据库2
1.1.2查询数据库3
1.1.3删除数据库3
1.2表的运用4
1.2.1创建表4
1.2.2删除表5
1.3约束5
1.3.1五种约束6
1.3.2约束的使用6
第二章数据查询7
2.1建表和插入数据7
2.1.1建立学生信息表7
2.1.2插入信息8
2.2查询运用10
2.2.1数据查询10
2.2.2单表查询12
2.2.3连接查询13
2.2.4操作结果集查询18
2.2.5嵌套查询18
2.3数据库更新19
第三章函数19
3.1五种函数的运用19
3.1.1字符串函数20
3.1.2数学函数21
3.1.3日期函数22
3.1.4系统函数23
3.1.5聚合函数24
第四章变量25
4.1局部变量26
4.2全局变量27
第五章循环语句27
5.1统计平均成绩27
5.2提分27
5.3根据成绩显示等级27
第六章存储过程27
6.1存储过程的应用27
6.1.1系统存储过程27
6.1.2Sp_helptext的使用27
6.1.3创建存储过程27
6.2raiserror语句的应用27
第七章exists子查询27
7.1exists子查询的应用27
7.2求银行利息27
7.3变量查询27
7.4查询考试通过情况27
7.5循环提分27
7.6通过率27
第八章事物27
8.1使用事物解决银行转账27
第九章触发器27
9.1检测触发器27
9.2创建触发器27
9.3触发器delete运用27
9.4触发器update运用27
9.5触发器禁止修改运用27
第二章数据查询
2.1建表和插入数据
2.1.1建立学生信息表
usemaster—使用master系统数据库
ifexists(select*fromsysdatabaseswherename='studb')
dropdatabasestudb—检测是否有studb数据库,有则删除
createdatabasestudb
usestudb—使用studb数据库
createtableclass—创建课程表
(cnochar(10)primarykey,--课程号
cnamechar(50)notnull,--课程名
teanochar(10)notnull,--教师号
creditchar(4)notnull,
ctimechar(50)notnull)
createtablestudent1—创建学生信息表
(snochar(10)primarykey,--学号
snamechar(10)notnull,--姓名
ssexchar
(2)notnull,--性别
sagechar
(2)notnull,--年龄
majorchar(10)notnull,--专业
dapartchar(10)notnull)–系别
createtableteacher1
(teanochar(10)primarykey,
tnamechar(10)notnull,--教师名
tsexchar
(2)notnull,--教师性别
tdepartchar(10)notnull)–教授课程
createtablescore—创建成绩表
(snochar(10)notnull,
cnochar(10)notnull,
scoreintnotnull)–成绩
2.1.2插入信息
--插入单条信息
insertintostudent1
values('0811080101','陈琦','男','22','信息','工商')
--插入多条信息
insertintostudent1—在student1表中插入信息
select'0811080102','崔雪娇','女','23','信息','工商'union
select'0811080103','董朝阳','男','22','数学教育','数学系'union
select'0811080104','杜鹃','女','22','计算机应用','计算机系'union
select'0811080105','方卉','女','20','汉语言','文法系'
insertintoclass—在class表中插入信息
select'0301','财务管理','001','2','24'union
select'0302','供应链管理','002','2.2','18'union
select'0303','生产与运作管理','003','2.4','36'union
select'0304','统计学','004','2.6','32'union
select'0305','网页制作','005','2.8','30'union
select'0306','操作系统原理','006','3.0','32'union
select'0307','数据库原理','007','3.2','30'union
select'0308','项目管理','008','3.4','45'union
select'0309','web程序设计','009','3.5','35'
insertintoscore—在score表中插入信息
select0811080101,0306,85union
select0811080101,0303,90union
select0811080101,0305,86union
select0811080102,0306,82union
select0811080102,0304,84union
select0811080102,0301,81union
select0811080103,0306,93union
select0811080103,0302,79union
select0811080103,0304,85union
select0811080104,0306,94union
select0811080104,0308,74union
select0811080104,0307,86
insertintoteacher1—在teacher1表中插入信息
select001,'卢亚君','女','财经'union
select002,'李昌明','男','财经'union
select003,'张富强','男','财经'union
select004,'刘翠杰','女','数信'union
select005,'王庆石','男','数信'union
select006,'黄立明','男','数信'union
select007,'王纲','男','计算机'union
select008,'徐伟丽','女','计算机'union
select009,'刘书霞','女','计算机'
2.2查询运用
2.2.1数据查询
--查询课程表信息
select*fromclass
--查询学生表信息
select*fromstudent1
--查询教师表信息
select*fromteacher1
--查询成绩表信息
select*fromscore
2.2.2单表查询
--
(1)查询sno为0811080101学生的sname
selectsname
fromstudent1
wheresno='0811080101'
--
(2)查询ssex为’女’并且sdepart为’工商’的sname
selectsname
fromstudent1
wheressex='女'anddapart='工商'
--(3)查询所有学生的姓名和系别。
selectsnameas姓名,dapartas系别—as后的中文是别名,可以在查询结果中将别名前的名字替换成别名后的名字。
fromstudent1
--(4)查询depart为数学系的sname。
selectsname
fromstudent1
wheredapart='数学系'
--(5)查询所有学生所在院系名称
selectdistinctdapart—distinct是去掉重复值
fromstudent1
--(6)查询学生信息表中年龄小于和年龄大于的学生的姓名和系别
selectsname,dapart
fromstudent1
wheresage<21orsage>21
--(7)查询所有学生的平均年龄
selectavg(sage)as平均成绩
fromstudent1
2.2.3连接查询
--用where语句来进行两表联接
selects.sname,o,c.score
fromstudent1ass,scoreasc
wheres.sno=c.sno
--用where语句来进行多表联接
selectstudent1.sno,student1.sname,
o,ame,score.score,teacher1.tname
fromstudent1,class,score,teacher1
wherestudent1.sno=score.sno
ando=o
andclass.teano=teacher1.teano
--内联接,用innerjoin内联接将stuinfo表和stumarks表联接起来
selects.sname,o,c.score
fromscoreasc
innerjoinstudent1assonc.sno=s.sno
--用innerjoin内联接来进行三表联接
selects.sname,ame,sc.score
fromstudent1ass
innerjoinscoreasscon(s.sno=sc.sno)
innerjoinclassascon(o=o)
--左外连接leftjoinon,主键在左边
selects.sname,sc.score
fromstudent1ass
leftjoinscoreassc
ons.sno=sc.sno
--左外连接leftjoinon三表联接
selects.sname,ame,sc.score
fromstudent1ass
leftjoinscoreassc
on(s.sno=sc.sno)
leftjoinclassasc
on(o=o)
--右外连接rightjoinon,主键在右边
selects.sname,sc.score
fromscoreassc
rightjoinstudent1ass
ons.sno=sc.sno
--右外连接rightjoinon三表联接
selects.sname,ame,sc.score
fromscoreassc
rightjoinstudent1ass
on(s.sno=sc.sno)
leftjoinclassasc
on(o=o)
--显示奇数行的学生信息
select*fromstudent1
wheresno%2<>0
--显示偶数行的学生信息
select*fromstudent1
wheresno%2=0
2.2.4操作结果集查询
selectcno课程号
fromscore
wheresno='0811080102'
intersect
selectcno课程号
fromscore
wheresno='0811080103'
2.2.5嵌套查询
--查询选修了这门课的所有学生的学号、姓名、年龄、院系
selectsno,sname,sage,dapart
fromstudent1
wheresnoin(selectsnofromclasswherecno='0306')
2.3数据库更新
--A.插入数据
--向Student1表中添加一项记录:
--姓名:
叶问,学号:
,性别:
男,年龄:
专业:
信息管理,系别:
工商
insertintostudent1
values('0811080201','叶问','男','36','信息管理','工商')
--B.修改数据
--修改陈琦的学号为:
updatestudent1
setsno='081108023'
wheresname='陈琦'
--C.删除数据
--删除所有工商学生的记录
deletestudent1
wheredapart='工商'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Sql基础代码 第二章 数据查询 Sql 基础 代码 第二 数据 查询