VF中SQL语言的应用1

VF中SQL语言的应用1

ID:36711708

大小:684.00 KB

页数:33页

时间:2019-05-10

VF中SQL语言的应用1_第1页
VF中SQL语言的应用1_第2页
VF中SQL语言的应用1_第3页
VF中SQL语言的应用1_第4页
VF中SQL语言的应用1_第5页
资源描述:

《VF中SQL语言的应用1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1检索学生表中的学号、姓名、性别和籍贯2求所有学生在2004年的年龄3求1987年以后出生的学生学号和姓名4查找入学成绩大于等于600的同学的学号、姓名和入学成绩5查找入学成绩在570分以上的女性学生,显示学号、姓名、性别和入学成绩6入学成绩在500到600间的学生学号、姓名和入学成绩7求籍贯为“江西南昌”或“吉林”的学生学号、姓名和籍贯8查找江西籍的男性学生的学号和姓名9求学生表中入学成绩在600分以上的人数10求学生表中入学成绩的平均成绩11按课程类别号,求各种类别课程的门数*查询语句的一般

2、格式:SELECT[ALL

3、DISTINCT]field1[,field2,...]FROMtable1[,table2,...][WHERE"conditions"][GROUPBY"field"][HAVING"conditions"][ORDERBY"field"[ASC

4、DESC]]select…where姓名like“李%”select….whereat(“李”,姓名)>0select…..wherelike(“李*”,姓名)三个是等价的。Like是SQL语言中的,因此,通配符是:%和

5、_.说明:_替代一个字符,%替代多个字符。Like()是VFP自带的函数,通配符是:*和?.说明:?替代一个字符,*替代多个字符。简单的计算查询:计算平均值avg(cj)as平均成绩计算总分:sum(cj)as总成绩求最高值:max(cj)as最高分求最小值:min(cj)as最低分4.2.2多表查询一、多表查询的工作原理多表查询:from子句包括多个数据表例:select*;from学生表,成绩表结果:如下图结果集在横向上(字段数)是两表的字段数相加;在纵向上(记录数)是两表的记录数相乘。即如

6、果SELECT从两表检索结果,且不带WHERE子句的关键字相等约束时,结果存在组合爆炸的问题,这会产生很多无用的垃圾数据。select*from学生表,成绩表的结果带Where子句的多表查询SELECT从两表检索结果时,要得到有效的数据必须带WHERE子句。通常二个表之间必须有主外键的约束,即二个表中有共同的字段(或字段集),这个字段或字段集在一个表中为主键,在另一个表中为外键。如果二表是多对多的关系,也可以转化为二个一对多的关系。我们最常使用自然联接对两表进行查询。自然连接实际上指定了结果集必

7、须满足的条件。例4-31:将学生表和课程表进行自然联接,求结果集。select*from学生表,成绩表;where学生表.学号=成绩表.学号4.2.2多表查询(工作原理)理解:例4-31中的子句“WHERE学生表.学号=成绩表.学号”(或from学生表innerjoin成绩表on学生表.学号=成绩表.学号)表示的是“学生表”和“成绩表”进行自然联接操作。它的含义是判断“学生表”中的学号与“成绩表”中的学号,当它们相等时,这条记录才加入最终的输出结果集中。从概念上来说,相当于先作不带WHERE子句

8、的运算,得到一个大的结果集后,再判断“学号_a”是否等于“学号_b”,如果相等才认为是所要的结果。上述SELECT语句的等价SQL语句如下:select*;from学生表innerjoin成绩表;on学生表.学号=成绩表.学号innerjoin(内联接):这是最普通的联接类型。只输出满足连接条件的元组outerjoin(外联接):分为leftouterjoin(左外联接)和rightouterjoin(右外联接),以指定表为连接主体,将主体表中不满足连接条件的元组一并输出fulljoin:完整外

9、部联接,返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。4.2.2多表查询(工作原理)4.2.2多表查询(工作原理)一对多的自然连接在数据库中,使用最多的是一对多的关联。这里关联有一端为参照表(也称为多表),另一端为被参照表(也称为一表),二个表之间必须有主外键的约束,即二个表中有共同的字段(或字段集),这个字段或字段集在一个表(一表)中为主键,在另一个表(多表)中为外键。自然连接的WHERE子句中的条

10、件为:两个表在公共字段(集)上的值对应相等。如:WHERE学生表.学号=成绩表.学号一对多的自然联接的结果是一个关系表,关系表的结果为:横向上(字段数)为两表的字段相叠加;纵向上(记录数)以多表的记录为最终结果。4.2.2多表查询(工作原理)例4-32:求课程成绩在85分以上人的学号、姓名和成绩select学生表.学号,姓名,成绩;from学生表,成绩表;where学生表.学号=成绩表.学号;and成绩>=85注:为简化SELECT的书写,SQL中允许使用表的别名,例如上例可以改写为select

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。