Oracle简单查询

来源:互联网 发布:激光切割机软件 编辑:程序博客网 时间:2024/06/05 05:05

Oracle的一些简单查询如下:

--1.查询表中所有数据select * from 表名;--2.伪列rowid的使用--数据库中的每一行都有一个行地址,ROWID伪列返回该行地址--通常情况下, ROWID值可以唯一地标识数据库中的一行select empid,empname,rowid from emp;--3.伪列rownum的使用--对于一个查询返回的每一行,伪列ROWNUM返回一个数值代表行的次序--只能使用<或<=,不要使用>、>=、及=(特例=1)--查询表中前 5 条记录select empno,enpname from emp where rownum<=5;--4.查询排序(order by 子句,默认为升序)--语法:SELECT 列名1[,列名2…列名n] FROM 表名ORDER BY 表达式 [ASC|DESC]--ASC:升序排列     DESC:降序排列   --从emp表中查询员工编号、员工姓名和员工工资,查询结果按工资从高到低排列.select empno,enmpname,sal from emp order by sal desc;--可以按照多个列进行排序,而且排序方式可以不同select * from emp order by empno asc,sal desc;--5.where 子句的使用select * from emp where empno=5;select * from emp where sal>3000;--6.消除重复行 distinct 关键字select distinct job,empno,ename from emp;--以上三列都相同时才会有效果--7.符合搜索条件--WHERE子句中经常使用的逻辑运算符包括:NOT(非)、AND(与)、OR(或)--8.between 。。。and。。。使用BETWEEN… AND…关键字可以方便的限制查询数据的范围--语法:SELECT 列名1[,列名2…列名n]FROM 表名WHERE 表达式 [NOT] BETWEEN 表达式1 AND 表达式2--9.模式匹配(模糊查询)like--%(百分号)    表示从0~n个任意字符-- _下划线)    表示单个的任意字符--10.分页--1)不排序情况下:select from emp where rownum>=(当前页面-1)*每页记录数+1 and rownum<=(当前页码*每页记录数);--2)排序,where条件限制之后分页--首先将要排序或者要过滤的数据查询出来,作为一个虚拟表,然后再从这个虚拟表上查询数据进行rownum分页select * from(select * from emp order by sal) where rownum>=1 and rownum<=3;--11.聚合函数--SUM(表达式)  返回表达式中所有数值的总和,忽略空值--AVG(表达式)  返回表达式中所有数值的平均值,忽略空值--MIN(表达式)  返回表达式中所有数值的最小值,忽略空值--MAX(表达式)  返回表达式中所有数值的最大值,忽略空值--COUNT(*|表达式)  返回满足SELECT语句中指定的条件的记录条数;为表达式时忽略空值--12.分组查询SELECT deptno, avg(sal), max(sal) FROM empGROUP BY deptno;--13.having 子句SELECT deptno, avg(sal) FROM empGROUP BY deptnoHAVING avg(sal)>2000;--14.保存查询两种方法:--1)将查询结果保存到一张新表中:CREATE TABLE <newtable> AS SELECT 语句INSERT INTO emp1SELECT * FROM emp WHERE deptno=20;--2)将查询的结果保存到一个旧表(原来存在)中,也可以理解为是一个批量插入数据的命令INSERT INTO target_table(column_list) SELECT 语句
原创粉丝点击