ImageVerifierCode 换一换
格式:PPT , 页数:99 ,大小:2.42MB ,
资源ID:336033      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/336033.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(vf结构化查询语言SQL.ppt)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

vf结构化查询语言SQL.ppt

1、Visual FoxPro程序设计,第四章 结构化查询语言SQL,本章主要内容,1.SQL的中英文名称是什么?2.SQL的语言功能是什么?,-结构化查询语言-Structured Query Language,表4-1 SQL语言的9个命令动词,本节主要内容1、基本查询2、排序查询3、带特殊运算符的条件查询4、计算与分组查询5、嵌套查询6、利用空值查询7、查询中的特殊选项,selectfromwhere,查询内容(字段名),来自哪(表名),查询条件(表达式),1、单表无条件查询:,格式:SELECT FROM 例1:将“学生”表中的学号、姓名信息检索出来 select 学号,姓名 from 学

2、生例2:将“学生”表中的专业信息检索出来,并去掉重复元组。select 专业 from 学生,distinct,例3:查询“学生”表中的所有信息。方法一:select 学号,姓名,性别,出生日期,专业,家庭住址;from 学生方法二:select*from 学生,注意:,去掉重复元组,distinct,所有属性,*,,,Select后多字段名之间,2、单表条件查询格式:SELECT FROM WHERE 例1:查询成绩表中成绩大于80分的学号。select 学号 from score;where 成绩80注:distinct 短语的位置,distinct,例2:从成绩表中检索出选修了课程编号为

3、“02”的,并且成绩大于80分的所有信息。select*from 成绩;where 课程编号=02 and 成绩80,例3:检索出选修了课程编号为“02”或“05”的,并且成绩大于80分的所有信息。select*from 成绩;where(课程编号=02 or 课程编号=05);and 成绩80,例4:从学生表中检索出性别为“男”的学生的学号、姓名、性别、专业和年龄信息。select 学号,姓名,性别,专业,;year(date()-year(出生日期)as 年龄;from 学生;where 性别=“男”,2、单表条件查询:(1)条件中,涉及到字符型字段值,加定界符(“”)(2)多个条件之间用

4、and/or相连(3)一行书写不下,除最后一行,各行结尾加分号(;),注意,3、多表连接查询:格式:SELECT FROM 表1,表2,;WHERE 查询条件 and 连接条件例如学生表与成绩表连接条件为:学生.学号=成绩.学号,.=.,连接条件,例1:检索出成绩大于80分的学号、姓名、性别和成绩select 学生.学号,姓名,性别,成绩;from 学生,成绩;where 成绩80 and 学生.学号=成绩.学号,例2:检索学号为“200731001”的学生姓名以及所选修的课程名称和授课教师姓名。select 姓名,课程名称,教师姓名;from 学生,课程,成绩,教师;where 学生.学号=

5、成绩.学号 and;成绩.课程编号=课程.课程编号 and;课程.教师编号=教师.教师编号 and;学生.学号=“200731001,格式:注:Asc 表示升序 Desc 表示降序,selectfrom whereorder by 字段名1 asc|desc,字段名2asc|desc,例1:查询学生表中的全部信息,并按出生日期升序排序。select*;from 学生;order by 出生日期 asc,例2:查询学生信息,按学生的专业升序排序,若专业相同,则按学生的出生日期降序进行排序。select*from 学生;order by 专业 asc,出生日期 desc,1)order by对最终

6、结果进行排序,位置在最后2)asc/desc在排序的字段名后,默认为升序3)按多列排序时,各字段名之间用“,”相隔,注意,1、确定范围格式:BETWEENAND 表示在和之间包含界值NOT BETWEENAND 表示不在和之间,注意,例1:查询出生日期在1988年8月1日至1990年12月30日之间的学生的信息。select*from 学生;Where 出生日期 between 1988-08-01;and 1990-12-30select*from 学生;Where 出生日期=1988-08-01;and 出生日期=1999-12-30,2、确定集合格式:字段名 NOTIN(表达式1,表达式

7、2,)例2:查询选修了课程编号为“02”或“05”或“04”,并且成绩在80分以上的学生的学号、课程编号和成绩。select 学号,课程编号,成绩;From 成绩;where 课程编号 in(02,04,05);and 成绩=80,例3:查询没有选修课程编号为“02”或“05”并且成绩不及格的学生的学号、课程编号和成绩。select*from score;where 课程编号 not in(02,05)and 成绩60,3、部分匹配查询格式:字段名 like 字符型常量 通配符:%:0个或多个字符 _:一个字符 例4:查询所有姓“李”的同学的学号、姓名、性别、专业。select 学号,姓名,性

8、别,专业 from 学生;where 姓名 like 李%,例5:查询第二个汉字是“海”的学生的学号、姓名、性别、专业。select 学号,姓名,性别,专业 from 学生;where 姓名 like _海%,4、不等于(!=)例6:查询家庭住址在哈尔滨并且不是学商务英语专业的学生信息。select*from 学生;where 家庭住址=哈尔滨;and 专业!=“商务英语,1、简单的计算查询(用在select中,对查询结果中数值型字段值进行计算)注:as 新字段名:给结果指定字段别名,(1)count(distinct 字段名):统计数目 count():统计元组个数(2)sum(字段名):求

9、总和(3)avg(字段名):求平均值(4)max(字段名):求最大值(5)min(字段名):求最小值,例1:统计学生表中有多少个学生记录。select count(*)as 人数 from 学生例2:求学号为0104的学生的平均成绩。select avg(成绩)as 平均分 from 成绩;where 学号=200731001,例3:统计成绩表中的最高分和最低分。select max(成绩)as 最高分,min(成绩)as 最低分;from 成绩,用在select后count(*):计算关系中所含元组个数as 新字段名:给计算结果指定字段名,注意,2、分组与计算查询格式:GROUP BY HA

10、VING 例1:检索出每个学生的学号平均平均分。select 学号,avg(成绩)as 平均分;from 成绩;group by 学号,例2:检索出每个学生的学号、总分、平均分、最高分和最低分。select 学号,sum(成绩)as 总分,;avg(成绩)as 平均分,;max(成绩)as 最高分,;min(成绩)as 最低分;from 成绩;group by 学号,例3:在成绩表中查询选修课程在3门以上(含3门)的每个学生的学号和平均成绩,并按平均成绩升序排序,注意:order by后只能接字段名,不能接函数,select 学号,avg(成绩)as 平均成绩 from 成绩;group by

11、 学号 having count(*)=3;order by 平均成绩,select 学号,avg(成绩)as 平均成绩 from 成绩;group by 学号 having count(*)=3;order by 平均成绩,分组条件,select 学生.学号,avg(成绩)as 平均成绩 from 学生,成绩;where 学生.学号=成绩.学号 and;专业=“英语”;group by 学生.学号 having count(*)=3;order by 平均成绩 desc,查询条件,分组条件,连接条件,注意:先用where选择满足条件的元组,然后分组,再计算,最后去掉不满足分组条件的记录,例4

12、:检索英语专业的学生选修课程在3门以上(含3门)的每个学生的学号和平均成绩,并按平均成绩降序排序,例5:检索除“商务英语”专业之外的,选修课程在3门以上(含3门)的每个学生的学号、姓名和平均成绩,并按将结果按平均成绩降序排序,保存到表aa.dbf中,select 学生.学号,姓名,avg(成绩)as 平均成绩;from 学生,成绩;where 学生.学号=成绩.学号 and 专业!=”商务英语”;group by student.学号 having count(*)=3;order by 平均成绩 descinto table aa,(1)位置:where后,order by前(2)havin

13、g子句总是跟在group by子句之后,不可以单独使用(3)先where,再group by,然后计算,最后having.,注意,(查询结果出自一个表,条件涉及多个表)格式:SELECTFROM 表1 WHERE 字段名 in;(SELECT 字段名 FROM 表2 WHERE),本节所用的四个表,例1:检索没有授课的教师信息。例2:检索选修了课程的学生信息。例3:找出没有选课的学生的信息。,select*from teacher;where 教师编号 not in(select 教师编号 from course),select*from student;where 学号 not in(sel

14、ect 学号 from score),select*from student;where 学号 in(select 学号 from score),格式:IS NULL IS NOT NULL,例1:查询出还没有确定联系方式的学生记录。例2:查询已经确定了联系方式的学生信息。,select*from student where 联系方式 is null,select*from student where 联系方式 is not null,不能写成“=NULL”或“!=NULL”,注意,1、显示部分结果2、将结果存放在临时文件中 3、将结果存放在永久表中,1、显示部分结果(显示前几项)格式:top

15、 n percent位置:紧跟select后top短语要与order by 同时使用,例1:显示成绩最低的两名学生成绩信息。例2:显示成绩最高的那40%的学生成绩信息,select*top 2 from score order by 成绩 asc,select*top 40 percent from score order by 成绩 desc,2、将结果存放在临时文件中格式:into cursor 临时文件名注意:(1)文件关闭后,自动删除(2)位置:from短语后或最后,3、将结果存放在临时文件中例3:将teacher表中的信息保存在临时文件“教师”中。,select*from teach

16、er into cursor 教师,4、将结果存放在永久表中 格式:into table 表名注意:(1)查看结果可以使用下面的命令操作use 表名browse(2)通过该子句可实现表的复制。,例4:将所有课程信息按学分降序保存永久表“课程”中。,select*from course order by 学分 desc;into table 课程,Select.From 表名where 查询条件 and 联接条件group by.having.order by.into cursor|into table,字段名,as,函数,说明查询内容来自哪个些表,说明条件,按某列分组,分组条件,对查询结果排序,保存查询结果,本节主要内容,格式1:insert into 表名;values(表达式1,表达式2,表达式n)格式2:insert into 表名(字段名1,字段名2,);values(表达式1,表达式2,),例1:向score表中插入一条记录(1996468006,05,98)例2:向score表中插入一条记录(05,98)insert into score(课程编号,成绩);values(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1