首页
前一页
后一页
末页 [255] [256] [257] [258] [259] |
本留言簿共有493条记录, 现在时间2025-5-25 2:03:49,计算机地址:192.168.9.44
日期查询: |
现在是第51页 一共有99页 |
Books库中表及结构信息 | 环境:一键安装 库表:Mysql.sql xx3.sql xx4.sql 页面:Myphp.php |
序号 | 留言内容 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
D:2014-9-24 T:8:48:00 IP:192.168.9.43 作者: 张顺海 | 2014.9.23 星期三 教学内容:分组查询 教学目的:掌握分组的意义及分组函数 教学重点:分组操作 教学难点:分组函数 教学方法: 教学过程: 一、复习 上节课我们学习了查询排序功能 1.排序短语为:order by <排序项目1> [ asc|desc][,<排序项目2> [asc|desc] ....] 2.排序项目可以是多个,为第一排序项目,第二排序项目,当第一排序项目不能区分大小时,依据第二排序项目。 3.每个排序项目可以分别使用ASC或者DESC来限定升降序,如果省略默认是ASC,表示升序 4.可以使用order by 3的形式,表示按输出项目列表中的第三列为排序项目,当然也可以使用order by 3,5表示首先按照第3列排序,不能区分的按第5列排序,都是升序 5.如果在输出项目列表中,出现了AS 指定的列标题,则在order by 项目中,应该使用AS后的列标题 二、新授 1.教学内容:查询分组 2.大家分析:统计xueji.dbf中的男生和女生的数目分别是多少,我们应该这样做: sele 性别,coun(*) from xueji where 性别="男“ sele 性别,count(*) from xueji where 性别=”女“ 3.如果按专业分将xueji.dbf中的,看看每个专业有多少学生,显然可以把xueji表中的”国际商务“和”电子技术“两类来分,即 sele 专业,coun(*) from xueji where 专业="国际商务” sele 专业,coun(*) from xueji where 专业="电子技术” 4.这是我们事先已经知道xueji表中的性别有“男”、“女”两种情况,专业有“国际商务”和“电子技术”两种,如果不知道有多少种类,这就无法写出这样的语句,并且即使事先知道,但分的类别越多,写的语句越多,所以SQL就有一种专门处理这种类型的短语操作,就是“查询分组” 5.查询分组的意义:就是把记录数据按照某种方式进行归类,每一类产生一条汇总后的记录,是通过group by 分组项目来完成的 6.实例: 1)sele 性别,count(*) from xueji group by 性别 sele 性别,count(*) as 数量 from xueji group by 性别 2)sele 专业,count(*) as 数量 from xueji group by 专业 三、练习 1.下载相关文件,ftp://192.168.8.40,教学文件,V58,中的tushu.dbf,下载至本地电脑的V68中,且将VFP的默认工作目录设置成该目录。 2.打开命令文件,分别输入以下命令集,分别体会相关的命令含义。 1)sele * from tushu 2)sele * from tushu where 版别="远方出版" 3)sele count(*) from tushu where 版别="远方出版" 4)sele 版别,count(*) from tushu where 版别="远方出版“ 5)sele 版别,count(*) as 数量 from tushu where 版别="远方出版" 6)sele 版别,count(*) as 数量 from tushu group by 版别 7)sele 版别,count(*) as 数量 from tushu group by 版别 order by 数量 8)sele 版别,count(*) as 数量 from tushu group by 版别 order by 数量 desc
9)sele 版别,count(*) as 数量 from tushu group by 版别 order by 数量 desc having 数量>=100 四、总结 1.使用group by <分组项>来完成查询分组 2.可以使用分组专用函数count()、sum()、avg()、max()、min()等聚合函数 3.用于统计记录、求和、平均、最大值、最小值 五、作业 1.掌握group by的分组使用,明白项目三中的9条命令的全部含义 2.统计出tushu表中的不同“类别”的各种图书的记录条数,并按汇总后的记录条数降序。 | ||||||||||||||||||
D:2014-9-17 T:7:34:00 IP:192.168.9.43 作者: 张顺海 | 2014.9.17 星期三 教学内容: 1.阶段性小考 2.查询排序 教学目的: 1.考核暑假作业掌握情况、近期学习效果 2.掌握查询结果的排序 教学重点: 查询排序 教学难点: orde by 语句的应用 教学过程: 一、考核 考核网址:http://192.168.9.43/ch01/kaoshi.asp 考核过程: 1.首先登陆用户名 2.点击功能列表中的第【13】项的在线测验 3.点开微机68班VisualFoxPro6.0在线考试系统 4.本次考试共计86题,含部分Excel时的题 5.做完后,点击考题下面的【提交】按钮 6.本系统会自动【评分】,并记录到自己的考试成绩 7.本系统自动将每个人的成绩登陆到【服务器】上 8.本题,可以反复练习,评分后,自动给出正确答案,及题目分析 9.要求每位同学反复练习至满分【164】分后预习第二部分
二、新授(理论课) 1.教学内容:第四章 4.1.2,P84,查询排序 2.前几节课,我们一直使用Select-SQL语言的查询功能,将我们需要的数据提炼出来,形成一个新的集合备用。 3.第一个备用的需求就是让得到了结果按我们的要求有序,就是本节的新授内容,查询排序 4.查询排序: 命令短语:order by <排序项1> [asc|desc] [,<排序项2> [asc|desc] ...] 命令功能: 该命令对查询结果按指定的排序项进行升序或者降序 asc项表示按排序项升序排序记录; desc项表示按排序项升序降序记录; 如果省略asc、desc,则默认的排序升序; 5.实例: P84,例8 三、总结(请大家抄写在笔记本上) 1.通过sele查询语句的【order by 】短语,可以对sele查询语句的结果,按指定的项目排序; 2.asc是升序,desc是降序 3.不指定升降,默认升序 4.也可以使用orde by 3,用3来指定,按sele语句中的第三列为排序项目 5.orde by后边可以跟多个排序项目(也排序依据),排序时先按第一个排序项目排序,如果第一个排序项目值相同,就按第二个排序项目排序,依次类推 6.orde by后边跟多个排序项目时,对每一个排序项目,可以分别用asc或者desc加以限定,来说明每一个排序项目的升降序 7.当查询项目中用AS指定新的列标题时,order by 中的排序项目,应该使用被AS指定的标题,如P86,例9 四、作业 1.预习,P86的查询分组 2.将查询排序中的例8、例9、例10抄写在作业本上,含题目要求;
| ||||||||||||||||||
D:2014-9-11 T:17:43:00 IP:192.168.9.43 作者: 张顺海 | 2014.9.12 星期五 实训内容:条件查询(二) 实训目的:any/some、all、exist子句的运用 实训重点:集合运算的运用 实训过程: 一、复习回忆,上节课我们简单的说了一下子查询相关运算应用 1.ALL sele * from xueji where 入学成绩>all (sele 入学成绩 from xueji where 性别='女') and 性别="男" 2.ANY sele * from xueji where 入学成绩>any (sele 入学成绩 from xueji where 性别='男') and 性别="女" 二、实习过程,要求首先下载需要的学籍表与图书借阅表(xueji.dbf和xueji.fpt、tushui.dbf) (一)知识预备: 1.子查询:就是在一个查询中需要另一个查询的结果,这个产生结果的查询称之为子查询; 2.例如: use xueji list
结果就相当于一个集合(540,423,352,436,453,521,365,514,428,456) (二)知识运用 大家想一下,sele 入学成绩 from xueji where 性别="女"的结果是哪一个集合? sele 入学成绩 from xueji where 性别="女"
(三)知识扩展,大家看看这句话的意思 sele * from xueji where 入学成绩 in (352,453,365,514,428) 很显然,就是查询出,入学成绩是(352,453,365,514,428)集合中的任意一个的信息! 因为上边已经知道这五个成绩得来的渠道,就是五个女同学的成绩,所有替换结果: sele * from xueji where 入学成绩 in (sele 入学成绩 from xueji where 性别="女") 大家分析以下语句的含义:(注意子查询的两边的括号不能省略) sele * from xueji where 性别='男' and 入学成绩 in (sele 入学成绩 from xueji where 性别="女") (四)any/some、all、exist子句的运用 1.any/some 这两个通用,一般用any,表示任意的意思。 (1)sele 入学成绩 from xueji where 性别="女",产生的结果相当于集合(352,453,365,514,428); (2)条件where 入学成绩 in (352,453,365,514,428),相当于where 入学成绩 in (sele 入学成绩 from xueji where 性别="女"); (3)any一般和关系运算符一起组合使用来达到使用的目的; 如,入学成绩 > any (352,453,365,514,428),相当于入学成绩大于集合中的“任意"一个结果就为真 和入学成绩>352 or 入学成绩>453 or 入学成绩>365 or 入学成绩>514 or 入学成绩>428的含义是一样的,用到了OR运算符! 换算:where 入学成绩 > any (sele 入学成绩 from xueji where 性别="女"); ,但也是有区别的,那在哪里有区别: 用any,表达更贴近实际;用集合更简洁;用子查询更智能; 2.all all一般和关系运算符一起组合使用来达到使用的目的; 如,入学成绩 > all (352,453,365,514,428),相当于入学成绩大于集合中的“所有"的结果才为真 和入学成绩>352 and 入学成绩>453 and 入学成绩>365 and 入学成绩>514 and 入学成绩>428的含义是一样的,用到了AND运算符! 换算:where 入学成绩 > all (sele 入学成绩 from xueji where 性别="女"); ,但也是有区别的,那在哪里有区别: 用all,表达更贴近实际;用集合更简洁;用子查询更智能; 3.exists / not exists,一般在条件中直接使用 当子查询中结果不为空集,即至少有一行查询结果,该条件为真 如: where exist (sele * from xueji where 民族="回"),含义为子查询不为空集,筛选条件则为真; 或者:where not exist (sele * from xueji where 民族="回"),含义为子查询为空集,筛选条件则为真。 三、实习总结 1.子查询:就是在一个查询中需要另一个查询的结果,这个产生结果的查询称之为子查询,子查询产生的结果为一个集合; 2.any/some,这两个通用,一般用any,表示任意的意思; 3.any一般和关系运算符一起组合使用来达到使用的目的,相当于各条件之间OR的关系; 4.all一般和关系运算符一起组合使用来达到使用的目的,相当于各条件之间AND的关系; 5.用any、all,表达更贴近实际;用集合更简洁;用子查询更智能; 6.exists / not exists,一般在条件中直接使用,当子查询中结果不为空集,即至少有一行查询结果,该条件为真。 四、作业 1.将本节的实习总结,抄写在笔记本上 2.将实习内容逐条实验,并认真体会老师书写的含义 3.完成下列指令,写在作业本上。 1)筛选出xueji表中不低于女生入学成绩的所有男同学的姓名; 2)筛选出xueji表中在tushu表中借着书的所有人的姓名; | ||||||||||||||||||
D:2014-9-3 T:7:34:00 IP:192.168.9.43 作者: 张顺海 | 2014.9.3 星期三 实习内容:条件查询(一) 实习目的:掌握各种运算符的运用及表达式对条件查询的运用 实习重点:条件表达式的运算优先级 实习过程: 一、下载相关的文件 二、实习以下运算符的应用 1.算术运算符:+、-、*、/ 2.关系运算符:=、<>、<、<=、>、>= 3.逻辑运算符:NOT、AND、OR 4.区间运算符:Between ....... AND...... 5.匹配运算符:LIKE 6.集合运算符:IN()、NOT IN() 实习并根据结果分析实例: 1.sele * from xueji where 姓名="王晓飞" 2.sele * from xueji where 姓名="王" 3.sele * from xueji where 学号 like "1_01%" 4.sele * from xueji where 入学成绩 betw 400 and 450 5.sele * from xueji where 入学成绩 in ( 540,521,456) 6.sele * from xueji where 入学成绩 not in ( 540,521,456) 7.sele * from xueji where 姓名 like "李%" and 性别="男" to screen 8. sele * from xueji where 入学成绩 betw 400 and 450 and 入学成绩 not in (436) 9.sele * from xueji where 性别<>"男" 10.sele * from xueji where 性别#"男" 11.sele * from xueji where !性别="男" 12.sele * from xueji where not 性别="男" 13.sele * from xueji where 性别!="男" 14.sele * from xueji where 性别="女" 15.sele * from xueji where 性别 in ("女") 16.sele * from xueji where 性别 not in ("男") 17.sele * from xueji where not 性别 in ("男") 18.sele * from xueji where 性别 betw "女" and "女" 19.sele * from xueji where 性别 like "女" 20.sele * from xueji where not 性别 like "男" 21.sele * from xueji where ! 性别 like "男" 22.sele * from xueji where 性别 is not null and 性别="女" 三、子查询相关运算应用 1.ALL sele * from xueji where 入学成绩>all (sele 入学成绩 from xueji where 性别='女') and 性别="男" 2.ANY sele * from xueji where 入学成绩>any (sele 入学成绩 from xueji where 性别='男') and 性别="女" 四、总结 1.知道运用不同的运算符组成的不同的表达式,可以完成相关的题目要求。 2.ALL、ANY的运用,可以让查询更加的智能。 3.between、not between的应用;IN ()、NOT IN()的应用。 4.大家课下查询exists、not exists的意思! 五、作业 1.掌握各种运算符的分类、运用、以及优先级 2.掌握条件查询中的智能条件运用 3.(书面作业),判断下列表达式是否有效,如有效计算出表达式的真与假,用T或F表示 5>9 3+7>9 6+3*2=19 "三好学生"="三好” “三好学生"=="三好” “三好”=“三好学生" (3+12)/4>(18-2)/4 and "河北省"="河北" or 15*2>8 (3+12)/4>(18-2)/4 and ( "河北省"="河北" or 15*2>8)
sqrt(17)>4 and 4^2>15 or "徐水"="徐水县"
| ||||||||||||||||||
D:2014-8-28 T:10:46:00 IP:192.168.9.43 作者: 张顺海 |
2014.8.29 星期五 教学内容:SQL条件查询 教学目的:掌握条件查询中的运算符及表示方法 教学重点:条件表达式的确立 教学难点:运算符运用 教学时间:4课时,理时一体 教学过程: 一、导入 上节课,我们学习了条件查询,了解了关系运算符的表示方法,及逻辑运算符的表示形式,这节课,我们将实践和运用这些运算符到需求当中去,完成一些特殊的查询方法。 二、新授 1.命令格式: select [distinct] <查询项1> [as <列标题1>] [,<查询项2> [as <列标题2>]...] from <表名> where <条件> 2.说明 (1)本命令的功能是查询满足每件的记录 (2)where <条件>:指的是查询的条件,与VisualFoxPro命令中的For条件选项的用法相同; (3)应该熟练掌握条件构成中的各种运算符,以及不同的运算符组合来表示不同的含义; 3.实例,要求首先下载需要的学籍表(xueji.dbf和xueji.fpt) (1)查询"xueji"表中入学成绩在400至450之间的记录(含),只显示姓名、性别、出生日期、专业、入学成绩和团员字段内容: 分析: 因为是从表中查询满足条件的记录,正好选用“select-SQL”语句; 结果中包含的查询项目有“姓名、性别、出生日期、专业、入学成绩和团员”字段,所有应该使用“select 姓名,性别,出生日期,专业,入学成绩,团员 ” 信息的来源是表“xueji”,所以应该使用的短语为 from xueji 查询的结果中只包含入学成绩为400至450的,所以条件为:where 入学成绩>=400 and 入学成绩<=450 (2)将每个题目分析的结果拼接在一起,命令为头,结果如下 select 姓名,性别,出生日期,专业,入学成绩,团员 from xueji where 入学成绩>=400 and 入学成绩<=450 (3)运行结果
4.select命令中使用where指定的条件,既可以是单条件,也可以是双条件,也可以是多条件; (1)单条件: sele * from xueji where 性别="男“ (含义:所有的男同学) (2)双条件: sele * from xueji where 性别="男" and 入学成绩>=450 (含义:所有的450及450分以上的男生) (3)多条件: sele * from xueji where 性别="男" and 入学成绩>=450 or 性别="女" (含义:所有女生和450及以上的男生) 5.条件中的运算符:(P83) 关系运算符: =、<>、>、>=、<、<= 逻辑运算符:NOT、AND、OR 区间运算符:BETWEEN...AND... 匹配运算符:LIKE 包含运算符:IN ( )、NOT IN ( ) 空值运算符:IS NULL 、IS NOT NULL 三、练习 通过代码及运行结果,分析这些运算符的组合起来的意义 1.sele * from xueji where 姓名="王晓飞" 2.sele * from xueji where 姓名="王" 3.sele * from xueji where 学号 like "1_01%" 4.sele * from xueji where 入学成绩 betw 400 and 450 5.sele * from xueji where 入学成绩 in ( 540,521,456) 6.sele * from xueji where 入学成绩 not in ( 540,521,456) 7.sele * from xueji where 姓名 like "李%" and 性别="男" to screen 8. sele * from xueji where 入学成绩 betw 400 and 450 and 入学成绩 not in (436) 9.sele * from xueji where 性别<>"男" 10.sele * from xueji where 性别#"男" 11.sele * from xueji where !性别="男" 12.sele * from xueji where not 性别="男" 13.sele * from xueji where 性别!="男" 14.sele * from xueji where 性别="女" 15.sele * from xueji where 性别 in ("女") 16.sele * from xueji where 性别 not in ("男") 17.sele * from xueji where not 性别 in ("男") 18.sele * from xueji where 性别 betw "女" and "女" 19.sele * from xueji where 性别 like "女" 20.sele * from xueji where not 性别 like "男" 21.sele * from xueji where ! 性别 like "男" 22.sele * from xueji where 性别 is not null and 性别="女" 四、总结 1.学会条件查询的方法就是掌握如何把题目要求转化为条件表达式 2.条件表达式,就是Where <条件>短语,就是利用"运算符"连接起来的式子,在练习中的"第9项"至"第22项"都是为表达"所有女同学"的要求,而运用不同的运算符的排列、组合、表示来完成的,请大家好好分析其中的含义,将方法运用到将来的不同的题目要求中。 3.请大家认真考量不同的方法中的运算符运用含义,以期待用到将来复杂的题目要求中去。 4.熟练掌握技术没有捷径,多用、多看、多思、多总结! 五、作业 1.认真查看教材P82的4.1.2条件查询,至P83的例6 2.预习例7!
其他知识:
|
首页
前一页
后一页
末页 现在是第51页一共有99页 |