关于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 表名;

时间: 2024-10-23 05:39:41

关于oracle数据库(7)查询1的相关文章

ORACLE数据库常用查询二

ORACLE数据库常用查询 1.查看表空间对应数据文件情况: SQL> SELECT TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024 MB,AUTOEXTENSIBLE FROM DBA_DATA_FILES; TABLESPACE_NAME FILE_NAME MB AUTOEXTENSIBLE ------------------------------ ---------------------------------------------------

Oracle数据库对象查询是否被锁定及解锁

Oracle数据库对象是否被锁定查询SQL及解锁过程SQL详见下面: --查询当前用户下被锁的对象SELECT B.OBJECT_NAME, B.OWNER, C.SID,C.SERIAL#,C.OSUSER, C.MACHINE, C.TERMINAL  FROM V$LOCKED_OBJECT A, DBA_OBJECTS B, V$SESSION C WHERE A.OBJECT_ID = B.OBJECT_ID   AND A.SESSION_ID = C.SID   AND c.STA

MySQL数据库分页查询,Oracle数据库分页查询,SqlServer数据库分页

DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `pass` varchar(255) NOT NULL, `sex` varchar(255) NOT NULL, `age` int(11) NOT NULL, `address` varchar(255) DEFAULT NULL, PRIMA

Oracle数据库,查询语句、内置函数

一.数据库的查询语句: 1.查询整个表: select * from 表名 例: 2.通过条件查询某一行数据: select * from 表名 where 字段名 例: 3.某一列数据去重查询: select distinct 字段名 from 表名 例: 4.查询的结果按某个字段升序或倒序排列:  select * from 表名 order by 字段名;                  在字段名的后面加desc为降序顺序排列 例: 5.查询某一列在某个范围内的数据: select *

从Oracle数据库中查询前几个月数据时需要注意的一些问题

在最近的一个项目中,有一个需求就是要查询数据库中前几个月的历史数据,但是由于自己考虑不全面造成了程序的bug,现在将这一块好好作一个总结,希望以后不再犯这种很低级的错误,首先贴出查询中用到的一个子函数,然后就此作出详细的分析: private string AddMonths(string originalTime, int months) { string returnString = string.Empty; string[] dataAndTime = originalTime.Spli

Oracle 数据库特殊查询总结

1. 查询本节点及本节点以下的所有节点: select * from table1 c start with c.p_id='0000000' connect by prior c.id=c.p_id and c.use_yn='Y' order by id ; 2. 查询节点中所有的层级关系 SELECT RPAD( ' ', 2*(LEVEL-1), '-' ) || DEPNAME "DEPNAME",CONNECT_BY_ROOT DEPNAME "ROOT"

oracle数据库字符集查询

1>数据库服务器字符集 select * from nls_database_parameters,其来源于props$,是表示数据库的字符集. 查询结果如下 NLS_LANGUAGE AMERICANNLS_TERRITORY AMERICANLS_CURRENCY $NLS_ISO_CURRENCY AMERICANLS_NUMERIC_CHARACTERS .,NLS_CHARACTERSET AL32UTF8NLS_CALENDAR GREGORIANNLS_DATE_FORMAT DD

关于sql server远程访问Oracle数据库 OpenQuery查询返回多条数据的问题

在Sql Server远程访问Oracle 中的数据库表时: 远程语法通常为: select * from OpenQuery(Oracle链接服务器名称,‘查询语句’) eg: select * from OPENQUERY(QTX,'select * from student') 有些情况下只会返回student表一条数据 第一条 解决方法:数据源ODBC中 选择系统DNS 时,新建系统数据源 选择的对应驱动应该为Oracle Instant Client Dricver  这个驱动需要安装

oracle 数据库信息查询

/*查询当前用户表信息/ select A.column_name    字段名, A.data_type      数据类型, A.data_length    长度, A.data_precision 整数位, A.Data_Scale     小数位, A.nullable       允许空值, A.Data_default   缺省值, B.comments       备注 from user_tab_columns A, user_col_comments B where A.Ta

oracle数据库子查询的结果需要使用多次解决办法

with c as (select a.trandt,sum(a.tranam) tranam from tran a group by a.trandt )--将子查询抽取出来,以后可以直接用.该方法只适用于oracle,mysql不支持 select c.trandt, sum(d.tranam) from c inner join c d on c.trandt >= d.trandt group by c.trandt select c.trandt, sum(d.tranam) fro