博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle中表的简单查询
阅读量:3920 次
发布时间:2019-05-23

本文共 1253 字,大约阅读时间需要 4 分钟。

在这里插入图片描述

现在有这两张表,来供我们演示一下查询的案例。

简单查询

1.查询所有列

select * from emp;

2.查询指定的列

select ename,sal,deptno from emp;

3.去除重复行

关键字:distinct

select distinct deptno,job from emp;

4.使用算术表达式

select ename,sal*12 from emp;

5.使用列的别名

select ename "姓名",sal*12 "年收入" from emp;

6.使用逻辑操作符

关键字: and 和 or

//查询emp表中工资大于500或者职位是MANAGER并且名字以J开头的员工 select * from emp where (sal>500 or job='MANAGER') and ename like 'J%';

7.对表进行排序

关键字:order by 字段 asc|desc
asc 升序 默认
desc 降序

//部门编号升序,工资降序select * from emp order by deptno asc,sal desc;

8.使用列别名排序

//给sal字段取个别名工资,使用别名排序 select ename,sal "工资" from emp order by "工资";

9.数据分组函数

max() 最大值,min() 最小值,avg() 平均值,count() 数据总记录数,sum()总和

//求员工表中的最高和最低工资select max(sal),min(sal) from emp;//求员工工资的总和select sum(sal) from emp;//求员工的平均工资select avg(sal) from emp//求表的总记录数select count(*) from emp;

10.group by 和 having子句

//查询每个部门的平均工资和最高工资select max(sal),avg(sal),deptno from emp group by deptno;//查询每个部门中的每个岗位的平均工资和最高工资select max(sal),avg(sal),deptno,job from emp group by deptno,job;//查询出部门的平均工资大于两千的部门编号和他的平均工资select avg(sal),deptno from emp group by deptno having avg(sal)>2000;

数据分组的总结:

1.分组函数只能出现在列选择相中、having、order by子句中。

2.如果select语句中同时包含group by ,having,order by,那么他的执行顺序一定是group by,having,order by。
3.在选择列中如果有列,表达式,分组函数,那么这些列必须有一个出现在group by 子句中,否则就会出错。

转载地址:http://laarn.baihongyu.com/

你可能感兴趣的文章
IdentityServer4系列 | 简化模式
查看>>
小试YARP
查看>>
如何使用 C# 中的 HashSet
查看>>
api-hook,更轻量的接口测试工具
查看>>
一个情怀引发的生产事故(续)
查看>>
如何在 C# 中使用 RabbitMQ
查看>>
一套标准的ASP.NET Core容器化应用日志收集分析方案
查看>>
如何使用 C# 扩展方法
查看>>
C#如何回到主线程,如何在委托指定线程执行
查看>>
服务器重新部署踩坑记
查看>>
.NET应用程序安全操作概述
查看>>
C# WPF:把文件给我拖进来!!!
查看>>
生态和能力是国内自研操作系统发展的关键
查看>>
银河麒麟V10入选2020中国十大科技新闻
查看>>
Amazing 2020
查看>>
代码改变世界,也改变了我
查看>>
2021,未来可期
查看>>
阿星Plus:基于abp vNext开源一个博客网站
查看>>
写给自己,2020的年终总结
查看>>
Flash 生命终止,HTML5能否完美替代?
查看>>