关于oracle数据库(7)查询1

查询所有列数据

select * from 表名;

查询指定列数据  效率高于查询所有列数据

select 列名,列名,列名 from 表名;  --先执行from后面的代码,找到表,在执行select后面的代码,找到指定的列

distinct查询且不包含重复记录  可用于聚合函数

select distinct 列1 from 表名;  如:查询公司设置了哪些岗位  select job from emp;

select distinct 列1,列2 from 表名;  --把列1和列2都相同的去掉重复

如:把两个以上的列完全相同的去掉  select distinct job,deptno from emp;

基本查询(按条件查询)

select * from 表名 where 条件  --查询所有满足条件的

如:查询部门编号为11的员工  select * from emp where deptno=11;

如:查询部门编号为11且工资大于4000的员工  select * from emp where deptno=11 and sal>4000;

聚合函数  用于统计  max  min  avg  count  sum  使用了聚合函数,就不能在该语句中查询其它的列(除开分组的)

求一列的和

select sum(列名) from 表名;

给列起别名

select sum(列名) 起的名字 from 表名;  = select sum(列名) as 起的名字 from 表名; 

select 列名1 起的名字1,列名2 起的名字2,列名3 起的名字3 from  表名;

给表起别名

select 表的别名.列1,表的别名.列2 from 表名 表的别名;

求数量

查表有多少条记录  select count(*) from 表名;

          select count(*) 起的名字 from 表名;

如:查询编号为11的部门的人数  select count(*) 人数 from emp where deptno=11;

如:查询公司设置了几个岗位   select count(distinct job) from emp;  --先除去重复的,再求数量

求最高、最低、平均值

如:最大的数是多少

select max(列名) from 表名;

select max(列名) 最大 from 表名;

如:最小的数是多少

select min(列名) from 表名;

select min(列名) 最小 from 表名;

如:平均数是多少

select avg(列名) from 表名;

select avg(列名) 平均 from 表名;

如:select max(sal) 最高 ,min(sal) 最低 ,avg(sal) 平均 from emp;

分组group by  集合函数一般和分组一起使用  分组可以理解为分类

如:select count(列名) from 表名  where sex='男';

select 列名,count(列名)每组人数 from 表名 group by 列名;

如:select job,count(job)每组人数 from emp group by job;

如:部门分组(dno部门编号,sal薪水,emp表名)

select dno,sum(sal)部门工资,avg(sal)部门平均工资 from emp group by dno;

select 分组的列,聚合函数 from 表名 group by 分组的列

注意:如果别名中包含特殊字符或别名是关键字,则必须使用双引号

“+”加法运算符,只能加数字,不能加字符串

数字+null=null,运用一个nvl函数,把为null的设置为0

如:select ename,nvl(comm,0) from emp;

如:select ename,sal,comm,sal+nvl(comm,0) 总工资 from emp;

加固定的值(不能加字符串,会报错)

select ename sal+10000 from emp; --没有修改数据库

数值型字符会自动转换为数字

如:select ename sal+'10000' from emp;

“||”连接运算符,可以连接任何类型数据

如:select ename || '他这个月发了'||sal||'块钱' from 表名;

上一篇:Ubuntu Server修改IP、DNS、hosts


下一篇:JFrame关闭程序就退出的设置