VFP中的SQL语言
1、select溽朽孑臾查询(运行下面的语句,说出其含义)select*fromzgdaselectall职称fro罪焐芡拂mzgda&&all可省略,查出所有记录的职称字段值selectdistinct职称fromzgda&&查出所有记录的职称字段值,去掉重复行。select姓名,性别,年龄,职称fromzgdaselecttop3*fromzgdaorderby编号desc&&查编号最大的前3条记录selecttop50percent*fromzgdaorderby年龄desc&&查年龄最大的前一半记录select姓名,性别,年龄,职称fromzgdawhere性别="男"号&&等同于:where性别like"男"select姓名,性别,年龄,职称fromzgdawhere职称="讲师"orderby性别asc,年龄descselect姓名,性别,年龄,职称fromzgdawhere年龄between40and50&&包括40和50select姓名,性别,年龄,职称fromzgdawhere年龄>=40and年龄<=50&&与上一句等价select姓名,性别,年龄,职称fromzgdawhere年龄notbetween40and50&&年龄不在40和50范围内select*fromzgdawhere姓名like"刘%"&&查询所有姓刘的记录select*fromzgdawhere姓名like"王_"&&查询所有姓王且姓名只有两个字符的记录select姓名,性别,年龄,职称fromzgdawhere姓名notlike"王%"&&查询所有不姓王的记录where后面的特殊运算符(in;betweenand;like)select姓名,性别,年龄,职称fromzgdawhere姓名in("刘","王")&&查姓刘和姓王的记录,与下一语句等价。select姓名,性别,年龄,工资,职称fromzgdawhere姓名="刘"or姓名="王"select姓名,性别,年龄,职称fromzgdawhere职称in("讲师","副教授")select姓名,性别,年龄,职称fromzgdawhere职称="讲师"or职称="副教授"注:in运算符:判断表达式的值是否等于指定列表中几个值中的一个select职称,avg(年龄)fromzgdagroupby职称&&查每种职称的职工平均年龄select职称,avg(年龄)平均年龄fromzgdagroupby职称&&同时给表达式avg(年龄)命名为平均年龄***将上面的两条语句中的avg换成sum后,再运行,看功能是什么?select职称,avg(年龄)fromzgdagroupby职称havingavg(年龄)>40&&平均年龄>40的分组会显示selectmax(年龄)fromzgda&&查表中最大年龄值,最小用minselect职称,max(年龄)fromzgdagroupby职称&&查每种职称的职工最大年龄,最小用minselectcount(*)职工人数fromzgda&&查表中人数,职工人数为自定义别名selectcount(性别)fromzgda&&查性别字段值的行数(计重复值)结果为:8selectcount(distinct性别)fromzgda&&查性别字段值的行数(不计重复值)结果为:2select性别,count(*)职工人数fromzgdagroupby性别&&查男女职工人数,职工人数为自定义别名查询去向:select*fromzgdawhere性别='女'intotabledagirl&&查女生记录,存于表dagirl中(usedagirl/list看结果)select*fromzgdawhere性别='男'intocursortemp&&查男生记录,存于临时表temp中(list看结果)select*fromzgdawhere性别='男'intoarrayAA&&查男生记录,存于数组AA中(displaymemory看结果)select*fromzgdawhere性别='男'tofiledaadditive&&以追加方式存于文本文件da.txt中(无additive,覆盖方式)将上一条语句改为:toscreen&&结果送到主屏幕;toprinter&&结果送到打印机连接查询:l查询出给职工E3发订购单的供应商的信息.(下面的几条语句功能相同)selectg.供应商号,供应商名,地址from供应商g,订购单dwhered.供应商号=g.供应商号and职工号="E3"selectg.供应商号,供应商名,地址from供应商ginnerjoin订购单dond.供应商号=g.供应商号where职工号="E3"select供应商号,供应商名,地址from供应商where供应商号in(select供应商号from订购单where职工号="E3")select*from供应商gwhereexist(select*from订购单dwhered.职工号=“E3”andd.供应商号=g.供应商号)l查询出没有给职工E3发订购单的供应商的信息.select*from供应商gwherenotexist(select*from订购单dwhered.职工号=“E3”andd.供应商号=g.供应商号)l上机调试教材中的下列例子:(所用的源文件在教材中光盘中的vpf1文件夹,拷贝后要去掉”只读”属性)13.9---13.10---13.11---13.12---13.13---13.14----13.24---13.25---13.26---13.27---13.29---13.30---13.35