首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载 | ||
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试 MPA考试 | 中科院 |
||
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语 |
||
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 华为认证 | Java认证 |
||
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格 报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师 人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平 驾驶员 | 网络编辑 |
||
卫生资格 | 执业医师 | 执业药师 | 执业护士 | ||
会计从业资格考试(会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师 注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师 |
||
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师 质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师 设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师 城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师 |
||
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏 |
5.查询工资在1000~1500之间的职工的编号,姓名,职称和工资
select 编号,姓名,职称,工资 from 职工档案 where 工资 between 1000 and 1500
说明:在查找中,如果要求某列的数值在某个区间内,可用between…and,而如果要查找不在某个区间的数据,可用not between…and
思考一下:要查询工资不在1000~1500之间的职工的编号,姓名,职称和工资,应该怎样编写SQL语句?
答案:select 编号,姓名,职称,工资 from 职工档案 where 工资 not between 1000 and 1500
6.数据包含查询:使用in的查询,查询具有本科和大专文化程度的职工的编号和姓名
select 编号,姓名 from 职工档案 where 文化程度 in('本科','大专')
说明:如果要查的值是已知的某几个值中的一个,此时可用IN.同样,可以用not in来表示相反的含义。
7.数据匹配查询:
利用like的查询。查询部门编号为"01"的职工的工资情况
select * from 职工档案 where 编号 like '01_'(或者like '01%')
说明:在查找时,有时需要对字符串比较。like提供两种字符串匹配方式,一种是使用下划线"_"匹配任意一个符,另一种是使用百分号"%"匹配0个或多个字符的字符串。同样可以使用not like来表示相反的含义。
8.联接查询:
实际应用于中常常涉及到多表之间的关联查询,SQL语言提供了连接多个表的操作,可在两个或多个表间按指定的列的相同的值将一个表中的行与另一个表中的行连接起来。从而大增强了其查询能力。
为了防止多表中同名字段的二义性,查询语句中的字段名前最好加上表名作为前缀,为了减少输入时的麻烦,还可在from子句中给表起一个别名。
例:查询职工的编号,姓名,职称与工资
select 职工档案。编号,职工档案。职称,工资情况。姓名,工资情况。工资 from 职工档案,工资情况 where
职工档案。编号=工资情况。编号
9.联合查询:
在SQL语言中可将两个或多个查询结果进行并操作(union),需要注意的是,两个查询结果进行并操作时,它们必须具有相同的列数,并且对应的列有着相同的数据类型和长度(对应的列名可以不同).union运算自动去掉重复记录。
例:查询具有工程师和政工师职称的职工的编号和姓名
SElect 编号,姓名 from 职工档案 where 职称='工程师' union select 编号,姓名 from 职工档案
where 职称='政工师'
例:查询具有工程师职称和工资高于1000元的职工的编号
select 编号 from 职工档案 where 职称='工程师' union select 编号 from 工资情况 where 工资>1000
10.嵌套查询:
在一个select命令的where子句中出现另一个select 命令,则称为嵌套查询或称为子查询,必须用花括号括起来。在where子句中最多可以有两个同级(不是嵌套的)子查询。
例:查询工资高于1000的职工的编号,姓名和职称。
select 编号,姓名,职称 from 职工档案 where 编号 in(select 编号 from 工资情况 where 工资>1000)
上述SQL语句执行的是两个过程,首先在"工资情况"表中找出工资高于1000的职工的编号,然后再根据此编号在"职工档案"表中查出姓名和职称。
11.库函数:
select语句不仅可以通过where子句查找满足条件的数据,还可以通过函数对满足条件的数据进行统计,计数等运算。下列五种函数可以在from子句中与选定的列一起使用:
Min 求(字符,日期,数值)列的最小值
Max 求(字符,日期,数值)列的最大值
Count(*) 计算记录的个数
Sum 计算数值列的总和
AVG 计算数值列的平均值
这些函数是从一组值中计算出一个汇总信息,group by 子句用来定义或划分进行统计或求和的组。
例:查询男女职工人数,最高工资,最低工资,工资总额和平均工资
select 性别,count(*),Max(工资),Min(工资),sum(工资),avg(工资) from 职工档案 group by 性别
例:查出有三个人以上具有相同职称的职称名称。
select 职称 from 职工档案 group by 职称 having count(*)>3
注意:having子句和where子句的区别。where子句用来指定表中元组所应满足的条件,而having子句用来指定每一分组所应满足的条件,只有满足having子句的条件的那些组才能在结果中被显示。即having用于去掉不符合条件的分组,如同where子句用于去掉不符合条件的若干行一样。
在此例中,在表中按职称进行分组,然后在每个分组中检测其记录个数是否大于等于3,如果满足条件,则该组的职称才被输出。
相关推荐:2010年9月计算机等级考试成绩查询时间汇总北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |