计算机二级vfp-SQL命令集合
Vf讲义第二部分
关系数据库标准语言
SQL概述
SQL(structured query language)是结构化查询语言的缩写,是关系数据库的标准语言。SQL的核心是查询,主要功能为:
数据查询(Select)、数据定义(Create、Drop,Alter)、数据操纵(Insert ,Update , Delete)、数据控制(Grant , Revoke)
特点:
是一种一体化的语言
是一种高度非过程化的语言
非常简洁
既可在命令窗口中使用,也可在程序中使用
数据查询
简单查询
格式:select [distinct] 字段名列表 from 表名 [where 条件]
select 姓名,性别,出生日期 from zgda
select * from zgda
select distinct 职称 from zgda
select distinct 性别,职称from zgda
select * from zgda where 性别=”女”
select * from zgda where 职称="教授"
select * from zgda where 工资>700
select 姓名,性别,婚否 from zgda where 婚否=.t.
select * from zgda where 职称="教授" and 性别="男"
select * from zgda where 性别="男" or 出生日期<={^1975-01-01}
注释:
可用通配符“*”来代表所有字段
distinct 表示唯一显示,各个字段值完全一致的相同记录只显示一条记录
where 条件构成了条件查询,如果缺省默认为所有记录
查询窗口可以按ESC键关闭
几种特殊的运算符
in
格式:字段名 [not] in (表达式1,表达式2,……)
select * from zgda where 职称 in("教授","助教")
select * from zgda where 职称 not in("助教","讲师")
between
格式1(函数):
[not] between(字段名,表达式1,表达式2)
select * from zgda where between(工资,500,700)
格式2(短语):
字段名 [not] between 表达式1 and 表达式2
字段的取值范围在 或 不在:>=表达式1并且<=表达式2
select * from zgda where not between(奖金,100,200)
like
格式1(函数): like(表达式,字段名)
select * from zgda where like("王*",姓名)
格式2(短语): 字段名 like 表达式
select * from zgda where 姓名 like “_小_”
排序
格式:
select [top n [percent] ] [all / distinct] 字段表达式 [as 新字段名] from 表名 order by 排序字段列表 [asc] / [desc]
①order by 短语的使用,asc 表示升序,desc 表示降序,默认升序
select * from zgda order by 工资
select * from zgda order by 出生日期 desc
select * from zgda order by 奖金,工资 desc
select * from zgda where 性别="女" order by 奖金 desc
②top n [percent] 表示在符合查询条件的所有记录中,选取指定数量或百分比的记录,Top短语必须与order by短语同时使用
select top 3 * from zgda order by 出生日期
select top 2 * from zgda where 婚否=.t. order by 工资 desc
③产生新字段的方法,字段表达式 as 新字段名
select 姓名,职称,工资+奖金 as 实发工资 from zgda
select 姓名,性别,year(date())-year(出生日期) as 年龄 from zgda where 职称="助教" order by 年龄 desc
分组与计算查询
计算查询
sum(求和字段名)
avg(字段名)
count(*)
max(字段名)
min(字段名)
select sum(工资) as 工资合计 from zgda
select sum(工资) as 工资合计,avg(工资) as 平均工资,max(工资) as 最高工资,min(工