结构化查询语言优秀PPT.ppt
结构化查询语言现在学习的是第1页,共41页删除数据库vDROP SCHEMA|DATABASEvDrop database xuesh现在学习的是第2页,共41页插入操作插入操作v命令命令insert into 表名表名 (列名(列名,列名,列名values (值(值,值,值)插入一条指定好值的元组插入一条指定好值的元组insert into 表名表名 (列名(列名,列名,列名(子查询)(子查询)插入子查询结果中的若干条元组插入子查询结果中的若干条元组表内容的插入、修改和删除现在学习的是第3页,共41页创建”职工”表职工号姓名性别年龄基本工资现在学习的是第4页,共41页执行插入一条记录后的结果职工号姓名性别年龄基本工资010405李羽女281560现在学习的是第5页,共41页执行有条件的多行插入命令后的结果职工号姓名性别年龄基本工资010405李羽女281560010408刘秀男251650010506王强男522100010715朱阳男401900现在学习的是第6页,共41页插入操作插入操作补充例子补充例子v示例示例insert into 图书图书 values(“446943”,“TP31/138”,“数据库数据库基础基础”,“杨华杨华”,17.8)insert into 图书图书(书名,作者,单价书名,作者,单价)values(“FoxPro大全大全”,“王明王明”,23.8)现在学习的是第7页,共41页插入操作插入操作补充例子补充例子将平均成绩大于将平均成绩大于90的学生加入到的学生加入到aa中中insert into aa(学号学号,姓名姓名)select 学号学号,avg(成绩成绩)from SCgroup by(学号学号)having avg(成绩成绩)90现在学习的是第8页,共41页修改记录修改记录v命令命令update 表名表名 set 列名列名=表达式表达式|子查询子查询 列名列名=,表达式,表达式|子查询子查询where 条件表达式条件表达式指定对哪些列进行更新,以及更新后的值是什么指定对哪些列进行更新,以及更新后的值是什么现在学习的是第9页,共41页执行修改年龄+1命令后的结果职工号姓名性别年龄基本工资010405李羽女291560010408刘秀男261650010506王强男532100010715朱阳男411900现在学习的是第10页,共41页执行原先在职工1表中的职工的”基本工资=基本工资+津贴”命令后的结果职工号姓名性别年龄基本工资010405李羽女291560010408刘秀男261950010506王强男532650010715朱阳男412300现在学习的是第11页,共41页执行010405职工的”基本工资=基本工资*1.2”命令后的结果职工号姓名性别年龄基本工资010405李羽女291872010408刘秀男261950010506王强男532650010715朱阳男412300现在学习的是第12页,共41页修改记录修改记录补充例子补充例子v示例示例将所有图书的单价上涨将所有图书的单价上涨5%Update 图书图书Set 单价单价=单价单价*1.05老师工资上调老师工资上调5%update 老师老师set 工资工资=工资工资*1.05现在学习的是第13页,共41页修改记录修改记录补充例子补充例子当当C1课程的成绩小于该课程的平均成绩时,将课程的成绩小于该课程的平均成绩时,将该成绩提高该成绩提高5%update SCset 成绩成绩=成绩成绩*1.05 where 课程号课程号=C1and 成绩成绩(select avg(成绩成绩)from SC where C#=C1)现在学习的是第14页,共41页删除记录vDelete from.from,where 现在学习的是第15页,共41页执行删除年龄45命令后的结果职工号姓名性别年龄基本工资010405李羽女291872010408刘秀男261950010715朱阳男412300现在学习的是第16页,共41页执行删除”职工1表中的职工号=职工表中的职工号”的记录命令后的结果职工号姓名性别年龄基本工资010405李羽女291872现在学习的是第17页,共41页执行删除职工表中所有记录命令后的结果职工号姓名性别年龄基本工资现在学习的是第18页,共41页SQL数据查询-基本结构v基本结构select A1,A2,Anfrom r1,r2,rmwhere P现在学习的是第19页,共41页SQL数据查询-简单查询v例例1:找出所有姓李的读者姓名有所在单位:找出所有姓李的读者姓名有所在单位select 姓名姓名,单位单位;from aa;where 姓名姓名=李李v例例2:查看所有读者的全部情况查看所有读者的全部情况select *;from aa“*”:表示:表示“所有的属性所有的属性”现在学习的是第20页,共41页商品表1商品代号分类名单价数量DBX-134电冰箱14568DSJ-120电视机186515DSJ-180电视机207310DSJ-340电视机37265KTQ-12空调器280012WBL-6微波炉64010XYJ-13洗衣机46820XYJ-20洗衣机87312现在学习的是第21页,共41页商品表2商品代号产地品牌DBX-134北京雪花DSJ-120南京熊猫DSJ-180南京熊猫DSJ-340北京牡丹KTQ-12无锡春兰WBL-6青岛海信XYJ-13无锡小天鹅XYJ-20山西海棠现在学习的是第22页,共41页例1从商品表1中查询出每种商品的分类名vSelect 分类名 from 商品表1分类名分类名电冰箱电视机电视机电视机空调器微波炉洗衣机洗衣机现在学习的是第23页,共41页例2从商品表1中查询出每种商品的不同分类名vSelect distinct 分类名 from 商品表1分类名分类名电冰箱电视机空调器微波炉洗衣机现在学习的是第24页,共41页例3从商品表1中查询出分类名为“电视机”的所有商品vSelect*;vFrom 商品表1;vWhere 分类名=电视机商品代号分类名单价数量DSJ-120电视机186515DSJ-180电视机 207310DSJ-340电视机37265现在学习的是第25页,共41页例4从商品表1中查询出单价低于2000元的每一种商品的商品代号、分类名和单价vSelect 商品代号,分类名,单价vFrom 商品表1vWhere 单价 1500 and 数量=10商品代号单价数量DSJ-120186515DSJ-180207310KTQ-12280012现在学习的是第34页,共41页例12从教学库中查询出每个学生选修每门课程的学生号、姓名、课程号、课程名、成绩等数据。vSelect x.学生号,x.姓名,y.课程号,y.课程名,z.成绩vFrom 学生X,课程Y,选课zvWhere X.学生号=z.学生号 and y.课程号=z.课程号v分析:这里的X代表学生关系表,Y代表课程关系表,v Z代表选课关系表现在学习的是第35页,共41页执行结果学生号姓名课程号课程名成绩0101001王明C001C+语言78.现在学习的是第36页,共41页二、按照下列所给的每条二、按照下列所给的每条SQL查询语句写出相应的功能。查询语句写出相应的功能。1.从商品库中查询出每一种商品的商品代号、分类名、数量和品牌等信息。2.从商品库中查询出所有商品的不同品牌。3.从商品库中查询出品牌为熊猫或春兰的所有商品的商品代号、分类名、产地和品牌。4.从教学库中查询出每门课程被选修的学生数。5.从教学库中查询出只选修了一门课程的全部学生。现在学习的是第37页,共41页6.从教学库中查询出学生号为s1的学生所选修、而学生号为s2的学生没有选修的全部课程。7.从教学库中查询出所有已被学生选修的课程。8.从教学库中查询出同时选修了3门课程的全部学生。9.从教学库中查询出每个专业的学生人数,并按人数多少降序排列。10.从教学库中查询出每个学生选课的全部情况,并依次按学生号和成绩排序。现在学习的是第38页,共41页1.select 商品表1.商品代号,单价,数量,产地 from 商品表1,商品表2 where 商品表1.商品代号=商品表2.商品代号 2.select*from 商品表1 where 数量 between 10 and 20(或where 数量=10 and 数量=2000 or 数量=15现在学习的是第39页,共41页 5.select*from 商品表1 where 单价all(select avg(单价)from 商品表16.select distinct 分类名 from 商品表1 group by 分类名 having count(*)17.select*,单价*数量 as 总价值 from 商品表1 order by 总价值 desc 8.select distinct 学生.*from 学生,选课 where 学生.学生号=选课.学生号现在学习的是第40页,共41页delete from aa;这条语句没有where语句,所以它将删除所有的记录delete from aawhere name=zhangsan or firstname=Eri;现在学习的是第41页,共41页