4.2.5 组合条件的查询
(1)在【命令编辑区】输入“select empno,ename,job from scott.emp where
job>=’CLERK’ and sal<=2000”,然后单击【执行】按钮,得到逻辑与组合查询的结果。
(2)在【命令编辑区】输入“select empno,ename,job from scott.emp where job>=’CLERK’ or
sal<=2000”,然后单击【执行】按钮,得到逻辑或组合查询的结果。
(3)在【命令编辑区】输入“select empno,ename,job from scott.emp where not
job=’CLERK’”,然后单击【执行】按钮,得到逻辑非组合查询的结果。“not job=’CLERK’”等价于“job<>’CLERK’”。 组合条件中使用的逻辑比较符如表4.2所示。
表4.2 逻辑比较符
名称 | 实例 |
and(与) | select * from scott.emp where job=’MANAGER’ and sal<>2000; |
or (或) | select * from scott.emp where job!=’MANAGER’ or sal<>2000; |
not(非) | select * from scott.emp where not job>=’MANAGER’; |
4.2.6 排序查询
在【命令编辑区】输入“select empno,ename,job from scott.emp where
job<=’CLERK’ order by job asc,sal desc”,然后单击【执行】按钮,得到排序查询的结果。
order by 可以指定查询结果如何排序,形式为字段名
排序关键词;asc代表升序排列,desc代表降序排列,多个排序字段之间通过逗号分割。若有where查询条件,order by要放在where语句后面。
4.2.7 分组查询
分组查询是指将查询结果按照字段分组。
(1)在【命令编辑区】输入“select
empno,ename,job,sal from scott.emp group by job,empno,ename,sal having
sal<=2000”,然后单击【执行】按钮,得到分组查询的结果。
(2)在【命令编辑区】输入“select
empno,ename,job,sal from scott.emp where sal<=2000 group by
job,empno,ename,sal”,然后单击【执行】按钮,得到分组查询的结果。
where检查每条记录是否符合条件,having是检查分组后的各组是否满足条件。having语句只能配合group
by语句使用,没有group by时不能使用having,但可以使用where。
4.2.8
字段运算查询
可以利用几种基本的算术运算符来查询数据。
常见的+(加)、-(减)、*(乘)、/(除)4种算术运算都可以用来查询数据。
在【命令编辑区】输入“select
empno,ename,sal,mgr,sal+mgr from
scott.emp”,然后单击【执行】按钮,得到结果。
利用算术运算符仅仅适合多个数值型字段或字段与数字之间的运算。
4.2.9
变换查询显示
在【命令编辑区】输入“select empno 编号,ename 姓名,job 工作,sal 薪水 from
scott.emp”,然后单击【执行】按钮,得到结果,可以将默认的字段名以设定的名称显示。
以上我们学习了对单个数据表的查询语句。将上面这些基本的实例经过组合,就可以完成基本的日常数据查询任务,接下来进一步学习多表查询。