部分SQL语句
select查询(运行下面的语句,说出其含义)
select * from zgda
select all 职称 from zgda &&all可省略,查出所有记录的职称字段值
select distinct 职称 from zgda &&查出所有记录的职称字段值,去掉重复行。
select 姓名,性别,年龄,职称 from zgda
select top 3 * from zgda order by 编号 desc &&查编号最大的前3条记录
select top 50 percent * from zgda order by 年龄 desc &&查年龄最大的前一半记录
select 姓名,性别,年龄,职称 from zgda where 性别="男"号 && 等同于:where 性别 like "男"
select 姓名,性别,年龄,职称 from zgda where 职称="讲师" order by 性别 asc,年龄 desc
select 姓名,性别,年龄,职称 from zgda where 年龄 between 40 and 50 &&包括40和50
select 姓名,性别,年龄,职称 from zgda where 年龄 >= 40 and 年龄 <=50 &&与上一句等价
select 姓名,性别,年龄,职称 from zgda where 年龄 not between 40 and 50 &&年龄不在40和50范围内
select * from zgda where 姓名 like "刘%" &&查询所有姓刘的记录
select * from zgda where 姓名 like "王_" &&查询所有姓王且姓名只有两个字符的记录
select 姓名,性别,年龄,职称 from zgda where 姓名 not like "王%" &&查询所有不姓王的记录
where后面的特殊运算符(in ;between and ;like)
select 姓名,性别,年龄,职称 from zgda where 姓名 in ( "刘","王") &&查姓刘和姓王的记录,与下一语句等价。
select 姓名,性别,年龄,工资,职称 from zgda where 姓名 ="刘" or 姓名 ="王"
select 姓名,性别,年龄,职称 from zgda where 职称 in ("讲师","副教授")
select 姓名,性别,年龄,职称 from zgda where 职称="讲师" or 职称="副教授"
注:in 运算符:判断表达式的值是否等于指定列表中几个值中的一个
select 职称,avg(年龄) from zgda group by 职称 &&查每种职称的职工平均年龄
select 职称,avg(年龄) 平均年龄from zgda group by 职称 &&同时给表达式avg(年龄) 命名为 平均年龄
***将上面的两条语句中的avg换成sum后,再运行,看功能是什么?
select 职称,avg(年龄) from zgda group by 职称 having avg(年龄)>40 &&平均年龄>40的分组会显示
select max(年龄) from zgda &&查表中最大年龄值,最小用min
select职称,max(年龄) from zgda group by 职称 &&查每种职称的职工最大年龄,最小用min
select count(*) 职工人数 from zgda &&查表中人数,职工人数为自定义别名
select count(性别) from zgda &&查性别字段值的行数(计重复值) 结果为:8
select count(distinct 性别) from zgda &&查性别字段值的行数(不计重复值)结果为:2
select 性别,count(*) 职工人数 from zgda group by 性别 &&查男女职工人数,职工人数为自定义别名
查询去向:
select * from zgda where 性别='女' into table dagirl &&查女生记录,存于表dagirl中(use dagirl/list看结果)
select * from zgda where 性别='男' into cursor temp &&查男生记录,存于临时表temp中(list看结果)
select * from zgda where 性别='男' into array AA &&查男生记录,存于数组AA 中(display memory 看结果)
select * from zgda where 性别='男' to file da additive &&以追加方式存于文本文件da.txt 中(无additive,覆盖方式)
将上一条语句改为:to screen &&结果送到主屏幕;to printer &&结果送到打印机
连接查询:
l 查询出给职工E3发订购单的供应商的信息.(下面的几条语句功能相同)
select g.供应商号,供应商名,地址 from 供应商 g,订购单 d where d.供应商号=g.供应商号 and 职工号="E3"
select g.供应商号,供应商名,地址 from 供应商 g inner join 订购单 d on d.供应商号=g.供应商号 where 职工号="E3"
select 供应商号,供应商名,地址 from 供应商 where 供应商号 in (select 供应商号 from 订购单 where 职工号="E3")
select * from 供应商 g where exist (select * from 订购单 d where d.职工号=“E3” and d.供应商号=g.供应商号)
l 查询出没有给职工E3发订购单的供应商的信息.
select * from 供应商 g where not exist (select * from 订购单 d where d.职工号=“E3” and d.供应商号=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
posted on 2022-11-28 20:26 mbaicizhan 阅读(29) 评论(0) 编辑 收藏 举报