oracle基本知识总结_第1页
oracle基本知识总结_第2页
oracle基本知识总结_第3页
oracle基本知识总结_第4页
oracle基本知识总结_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一.Oracle数据库中常用的数据类型 varchar2(长度)可变长字符串 char(长度) 定长 number()表示整数或者浮点数number(8) number(8,2) clog 字符的大对象 blog 二进制的大对象 二.数据库查询 1)SELECT语句 从表中提取查询数据.语法为SELECT DISTINCT column1,column2, FROM tablename WHERE conditions GROUP BY conditions ORDER BY expressions ASC/DESC; 说明:SELECT子句用于指定检索数据库的中哪些列,FROM子句用于指定从

2、哪一个表或视图中检索数据。 2)WHERE子句。 WHERE子句用来选择符合条件的的记录. like . 通配查询 _,% between . and . ,表示结果在这之间,between and是一个闭区间。 !=,=,这三个都可以表示不等于。 in (va1,val2,.) 判断结果是否在这个集合中存在 。 like . 字符串通配查询,%表示0或多个字符,_表示一个字符。 . and . 表示只有两个条件同时满足 . or . 表示条件只要满足其中之一就可以 all . 是要求都满足条件。 not .,则是可以与以上的条件产生反效果。 . is null 使用来判断值是不是空。 3)

3、ORDER BY子句 ORDER BY 子句使得SQL在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由ORDER BY 子句指定的表达式的值确定。 ASC(默认,升序) DESC(降序) order by 目标列名(别名) 排序顺序(不写排序顺序,会默认为升序排序) 例:select first_name from s_emp order by first_name; select first_name from s_emp order by first_name desc; 三.SQL常用的命令分类及例子 数据定义语言:create(创建)、alter(更改)和drop(删除)命令。

4、 数据操纵语言:insert(插入)、select(选择)、delete(删除)和update(更新)命令。 事务控制语言:commit(提交)、savepoint(保存点)和rollback(回滚)命令。 数据控制语言:grant(授予)和revoke(回收)。 1.数据定义语言举例: SQL create table myTab(no number(4),name varchar2(20);创建一个名为myTab的表,包含两列no和name; SQL alter table myTab modify (name varchar2(25);修改myTab中的name列,使此列能容纳25个字符

5、; SQL alter table myTab add (tel_no varchar2(20);给表myTab增加一列tel_no; SQL alter table myTab drop column tel_no;删除表myTab的tel_no列; SQL drop table myTab;删除表myTab; SQL truncate table myTab;删除表myTab中的所有行(截断表),注意:不可以回滚。 2.数据操纵语言举例: SQL insert into myTab values(001,John); 向表myTab中插入一行数据; SQL select distinct

6、salary “薪水” from s_emp where salary1500 order by sal desc; 选择表中salary大于1500的数据,以别名“薪水”显示并按照salary的降序进行排列输出; SQL create table empa as select empno,ename,job,sal from emp; 从emp表中选择“empno,ename,job,sal”四列的数据建立新表empa; SQL create table empa as select * from emp where 1=2; 使用一个假条件根据现有表emp创建一个只包含结构的空表empa;

7、 SQL delete from empa where sal update empa set sal=1500 where sal commit;用于提交并结束事务处理; SQL savepoint mark1;保存点类似于标记,用来标记事务中可以应用回滚的点; SQL rollback to savepoint mark1;回滚到保存点mark1。 四.Oracle数据库函数 注意:dual表(虚表)是专门用于函数测试和运算的. 1.字符函数 字符是大小写敏感的 转小写 lower(字段名) 转大写 upper(字段名) 首字母大写 initcap(字段名) 字符串拼接 concat(字段

8、1, 字段2) 截取子串 substr(字段名, 起始位置,取字符个数) 例: select first_name,substr(first_name,2,2) sub from s_emp;(从名字的第二个字符开始取两个字符) select first_name,substr(first_name,-2,2) sub from s_emp;(从名字的倒数第二个字符开始取两个字符) 2.数值函数 四舍五入函数 round(数据,保留到小数点后几位) 1表示保留到小数点后一位,-1表示保留到小数点前一位。 例:select round(15.36,1) from dual; 截取数值函数 tru

9、nc(数据,保留到小数点后几位) 例:select trunc(123.456,1) from dual; 截取到小数点后一位,注意:与round函数不同,不会四舍五入。 3.日期函数 缺省日期格式,日-月-年 dd-mon-rr 修改当前会话的日期格式,会按照指定的格式输出日期 alter session set nls_date_format=yyyy mm dd hh24:mi:ss; 返回当前日期 sysdate 例:select sysdate from dual; 4.不同数据类型间转换函数 将日期转成字符 tochar(date,日期格式) 日期格式要用有效格式,格式大小写敏感

10、yyyy mm dd hh24:mi:ss(标准日期格式),year(年的全拼),month(月的全拼),day(星期的全拼),ddspth (日期的全拼) 例:select to_char(sysdate,yyyy mm dd hh24:mi:ss)from dual; select to_char(sysdate,year month day ddspth)from dual; 将字符串转成日期 to_date(.,日期格式) 例:select to_char(to_date(2006 11 03,yyyy mm dd),dd-month-yy) from dual; 五.表连接(关联查询

11、) 等值连接 select table1.column1,table2.column2 from table1 t1,table2 t2 where t1.column3=t2.column4; 表连接时,当表与表之间有同名字段时,可以加上表名或表的别名,加以区分,使用时要用表名.字段名或表别名.字段名(列名)。当表的字段名是唯一时,可以不用加上表名或表的别名。 注意:当为表起了别名,就不能再使用表名.字段名了。 例如:select e.first_name | | e.last_name name, dept_name from s_emp e, s_dept d where

12、e.dept_id=d.id; 非等值连接 select 表别名1.字段名1,表别名2.字段名2,. from 表1 表别名1 ,表2 表别名2 where 表别名1.字段名3 . 表别名2.字段名4 .可以使比较运算符,也可以使其他的除了=的运算符 例:select first_name, salary from s_emp where salary between 1000 and 2000; 自连接 把一个表的两个字段关系转换成两个表字段之间的关系. select 表别名1.字段名1,表别名2.字段名2,. from 表1 表别名1 ,表1 表别名2 where 表别名1.字段名3=表别

13、名2.字段名4; 例:select a.first_name ename,b.first_name cname from s_emp a,s_emp b where a.manager_id=b.id; 外连接 使用一张表中的所有记录去和另一张表中的记录按条件匹配(空值也会匹配)这个表中的所有记录都会显示。 /想在哪边模拟记录就在哪边加上(+) 1. LEFT OUTER JOIN:左外连接 SELECT e.last_name, e.dept_id, FROM s_emp e LEFT OUTER JOIN s_dept d ON (e.dept_id = d.id); 等价于

14、 SELECT e.last_name, e.dept_id, FROM s_emp e, s_dept d WHERE e.dept_id=d.id(+); 结果为:所有员工及对应部门的记录,包括没有对应部门编号dept_id的员工记录。 2. RIGHT OUTER JOIN:右外连接 SELECT e.last_name, FROM s_emp e RIGHT OUTER JOIN s_dept d ON (e.dept_id = d.id); 等价于 SELECT e.last_name, FROM s_emp e, s_dept d WHERE

15、 e.dept_id(+)=d.id; 结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。 3. FULL OUTER JOIN:全外关联 SELECT e.dept_id,d.id FROM s_emp e FULL OUTER JOIN s_dept d ON (e.dept_id = d.id); 结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。 六.组函数 group by把 select 的结果集分成几个小组,这个group by 子句可以跟在 select 语句后或是 having前面。group by

16、子句也会触发排序操作,会按分组字段排序。 select 组函数或分组的字段名. from 表名 group by 字段名1,字段名2,.; 例:select avg(salary) from s_emp group by dept_id; 注意:组函数会忽略空值,但是count(*)除外,他会把空记录也记录在内。avg和sum这两个函数的参数只能是number型的。 以下所提到的函数可以使用任意类型做参数。 max(.),min(.)求最大值和最小值, count(*)统计表中记录数。 例:select max(),avg(a.salary), max() from s

17、_emp a,s_dept b,s_region c where a.dept_id=b.id and b.region_id=c.id group by b.id; 注意:只要写了group by子句,select后就只能用group by之后的字段或者是组函数。having子句可以过滤组函数结果或是分组的信息,并且写在group by子句后。 七.子查询 可以嵌在sql语句中的select语句。 在select语句中嵌套子查询时,会先执行子查询。一般的会将子查询放在运算符的右边。 注意:在使用子查询时,要注意这个运算符是单行的(也就是只能是单值),还是多行运算符(范围,多值)。配合使用子查

18、询返回的结果必须符合运算符的用法。 例: select first_name| |last_name name from s_emp where title in (select title from s_emp where dept_id=42); 查询和42部门员工职位相同的所有员工的姓名 八.约束 针对表中的字段进行定义的。 primary key(主键约束 PK)保证实体的完整性,保证记录的唯一 主键约束,唯一且非空,并且每一个表中只能有一个主键,有两个字段联合作为主键时,将两个字段放在一起唯一标识记录,叫做联合主键。 主键约束的定义: 第一种定义形式: create table te

19、st(c number primary key ); 列级约束 第二种定义形式: create table test(c number , primary key(c) ) ; 表级约束 create table test(c1 number constraints pk_c1 primary key ); 此约束有名字: pk_c1 create table test(c number , c2 number , primary key (c ,c1) ) ; 用表级约束可以实现联合主键 foreign key(外键约束 FK)保证引用的完整性,外键约束,外键的取值是受另外一张表中的主键或唯

20、一键的约束,不能够取其他值,只能够引用主键或唯一键的值,被引用的表,叫做 parent table(父表),引用方的表叫做child table(子表),要想创建子表,就要先创建父表,记录的插入也是如此,先父表后子表,删除记录,要先删除子表记录,后删除父表记录,要修改记录,如果要修改父表的记录要保证没有被子表引用。要删表时,要先删子表,后删除父表。(可以通过使用cascade constraints 选项来删除父表) carete table parent(c1 number primary key ); create table child (c number primary key , c

21、2 number references parent(c1); 或表级约束定义: create table child( c number primary key , c2 number , foreign key(c2) references parent(c1); 非空约束(not null)这是一个列级约束,在建表时,在数据类型的后面加上 not null ,也就是在插入时不允许插入空值。 例:create table student(id number primary key,name varchar2(32) not null,address varchar2(32); unique

22、 唯一约束 唯一约束,允许为空,要求插入的记录中的值是唯一的。 例:create table student(id number,name varchar2(32),address varchar2(32),primary key (id),unique (address); check约束 检查约束,可以按照指定条件,检查记录的插入。check中不能使用伪列,不能使用函数,不能引用其他字段。 例:create table sal (a1 number , check(a11000); 九.数据字典 数据字典是由系统维护的,包含数据库的信息 数据字典示图 user_XXXXX 用户示图 all

23、_XXXXX 所有示图 dba_XXXXX 数据库中所有示图 v$_XXXXX 动态性能示图 dict或 dictionary 表示数据字典的数据字典。 user_constraints 用户的表中约束的表 其中有constraints_name字段存放的是约束名,constraint_type字段存放的是约束的类型,r_constraints_name字段表示外键引用自何处. user_cons_column表,是用户的列级约束表,column_name字段存放的是约束字段的名字,position字段存放的是约束在联合键中的位置. 十.事务transaction 原子操作,也就是不可分割的操

24、作,必须一起成功一起失败。 事务的结束动作就是commit,DDL,DCL语句执行会自动提交commit。 sqlplus正常退出是会做提交动作的commit;,当系统异常推出是,会执行回滚操作rollback;。 一个没有结束的事务,叫做活动的事务 (active transaction),活动的事务中修改的数据,只有本会话才能看见。 十一.Oracle中的伪列 伪列就像Oracle中的一个表列,但实际上它并未存储在表中。伪列可以从表中查询,但是不能插入、更新或删除它们的值。常用的伪列:rowid和rownum。 rowid:数据库中的每一行都有一个行地址,rowid伪列返回该行地址。可以使

25、用rowid值来定位表中的一行。通常情况下,rowid值可以唯一地标识数据库中的一行。 rowid伪列有以下重要用途: 1)能以最快的方式访问表中的一行; 2)能显示表的行是如何存储的。 3)可以作为表中行的唯一标识。 如:SQL select rowid,ename from emp; rownum:对于一个查询返回的每一行,rownum伪列返回一个数值代表的次序。 rownum伪列特点: 1) 有个特点要么等于1 要么小于某个值, 不能直接等于某个值, 不能大于某个值。 2)常用于分页显示。 返回的第一行的rownum值为1,第二行的rownum值为2,依此类推。通过使用rownum伪列,

26、用户可以限制查询返回的行数。 如:SQLselect * from emp where rownum10 with check option; 十四.索引(index) 建立索引的目的就是为了加快查询速度,建立索引后会使DML操作效率慢,但是对用户查询会提高效率。删除一个表时,相对应的索引也会删除。另外,索引是会进行排序。 创建一个索引: create index 索引名 on 表名 (字段名); create index test_index on test(c1); 删除索引: drop index test_index; 注意:创建索引就是为了减少物理读,索引会减少扫描的时间。在经常要用

27、到where的子句的字段,应该使用索引,另外还要看所查询的数据与全部数据的百分比,表越大,查询的记录越少,索引的效率就越高.一、选择行 1. 简单的SELECT 语句 SELECT 字段名1 AS 字段名1 解释 FROM table; 2. 处理NULL NVL函数可把NULL转换成其它类型的符号 编程技巧: NVL函数在多条件模糊查询的时候比较有用 NVL函数可返回多种数据类型: 返回日期 NVL(start_date,2002-02-01) 返回字符串 NVL(title,no title) 返回数字 NVL(salary,1000) 3. 使用SQL*PLUS(1) SQL desc

28、table; 显示表结构 SQL select * from tab; 查看用户下所有的表 SQL set pause on; 可以使大量结果集在用户按“Enter”(回车)后翻页 SQL set pagesize 100; 设定SQL语句返回结果集一页的行数100, 默认值是14 SQL set linesize 100; 设定SQL语句返回结果集一行的宽度100, 默认值是80 4. SQL*PLUS里规定字段的显示格式 规定数字的显示格式 SQLcolumn 字段名 format ; SQLcolumn 字段名 format 999,999,999,999; SQLcolumn 字段名

29、format a数字 word_wrapped; 规定long字符的显示宽度 SQLset long 200; 规定字段名的显示内容 SQL column 字段名 heading 字段名显示内容; SQL set heading off; 查询时不显示字段名称 规定字段的对齐方向 SQL column 字段名 justify left | right | center; 清除字段的格式 SQL column 字段名 clear; 5. SQL*PLUS里规定字段的显示格式例子 SQL column last_name heading Employee|Name format a15; SQL

30、column salary justify right format $99,999.99; SQL column start_date format a10 null Not Hired; 说明:如果start_date为null, 显示字符串Not Hired 6. 判断题(T/F) (1). SQL command are always held in sql buffer. T (2). SQL*PLUS command assit with query data. T 5 J2EE zxw SQL*PLUS命令只控制SELECT结果集的显示格式及控制文件.只有SQL命令能访问数据库.

31、 二、限制选择行 1. 按指定的规则排序 SELECT expr FROM table ORDER BY column, expr ASC | DESC ; 默认的排序是ASC升序(由小到大) 还可以ORDER BY 字段名的位置1| 2 ASC| DESC; 2. 用WHERE限制选择行(1) 比较操作符 = = = != = 与NULL比较不能用上面的比较操作符 ANY SOME ALL SQL操作符 BETWEEN AND IN LIKE IS NULL NOT BETWEEN AND NOT IN NOT LIKE IS NOT NULL 逻辑操作符 AND OR NOT 3. 用WH

32、ERE限制选择行(2) 比较顺序(可以用括号改变它们的顺序) (1). = = to_date(2001-12-12,YYYY-MM-DD) and日期字段= to_date(2002-02-01,YYYY-MM-DD); 6. 不能用到索引的比较操作符 IS NULL IS NOT NULL LIKE %m% 三、单行函数 1. 数字函数 ABS 取绝对值 POWER 乘方 LN 10为底数取0 SQRT 平方根 EXP e的n次乘方 LOG(m,n) m为底数n取0 数学运算函数:ACOS ATAN ATAN2 COS COSH SIGN SIN SINH TAN TANH CEIL 大于

33、或等于取整数 FLOOR 小于或等于取整数 MOD 取余数 ROUND(n,m) 按m的位数取四舍五入值如果round(日期): 中午12以后将是明天的日期. round(sysdate,Y)是年的第一天 TRUNC(n,m) 按m的位数取小数点后的数值如果trunc(日期), 确省的是去掉时间 6 J2EE zxw 2. 字符函数 CHR 按数据库的字符集由数字返回字符 CONCAT(c1,c2) 把两个字符c1,c2组合成一个字符, 和 | 相同 REPLACE(c,s,r) 把字符c里出现s的字符替换成r, 返回新字符 SUBSTR(c,m,n) m大于0,字符c从前面m处开始取n位字符

34、,m等于0和1一样, m小与0,字符c从后面m处开始取n位字符 TRANSLATE(c,f1,t1) 字符c按f1到t1的规则转换成新的字符串 INITCAP 字符首字母大写,其它字符小写 LOWER 字符全部小写 UPPER 字符全部大写 LTRIM(c1,c2) 去掉字符c1左边出现的字符c2 RTRIM(c1,c2) TRIM(c1,c2) 去掉字符c1左右两边的字符c2 LPAD(c1,n,c2) 字符c1按制定的位数n显示不足的位数用c2字符串替换左边的空位 RPAD(c1,n,c2) 3. 日期函数 ADD_MONTHS(d,n) 日期值加n月 LAST_DAY 返回当月的最后一天

35、的日期 MONTHS_BETWEEN(d1,d2) 两个日期值间的月份,d1 alter session set nls_date_format=yyyy-mm-dd hh24:mi:ss; 它的作用顺序如下: initialization parameter Environment variable ALTER SESSION command 4. 转换函数 (4) to_char(number)里数字显示格式 9 数字位 0 数字前面补0 to_char(-1200,00000.00) . 小数点的位置 , 标记位置的逗号 用在数字显示格式的左边 L 根据数据库字符集加货币符号 to_ch

36、ar(-1200,L9999.99) B 把数字0显示为空格,用在数字显示格式的右边 MI 右边的负数标记 to_char(-1200,9999.99MI) PR 括起来的负数 to_char(-1200,9999.99PR) EEEE 用指数方式表示 to_char(-1200,9999.99EEEE) 5. 输入字符,返回数字的函数 instr(c1,c2) 字符c2出现在c1的位置, 不出现, 返回0, 常用于模糊查询 length 按数据库的字符集,算出字符c的长度,跟数据库的字符集有关, 一个汉字长度为1 6. 有逻辑比较的函数NVL(EXPR1, EXPR2)函数 解释: IF E

37、XPR1=NULL RETURN EXPR2 ELSE RETURN EXPR1 DECODE(AA0V10R10V20R2.)函数 解释: IF AA=V1 THEN RETURN R1 IF AA=V2 THEN RETURN R2 . ELSE RETURN NULL 举例: decode(id,1,dept sale,2,dept tech) 四、从多个表里选取数据记录 1. 数据表间的连接 简单的连接语法: SELECT 字段名1, 字段名2, FROM 表名1, 表名2, WHERE 表名1.字段名 = 表名2. 字段名 AND ; SELECT 字段名1, 字段名2, FROM

38、表名1, 表名2, WHERE 表名1.字段名 = 表名2. 字段名(+) AND ; 有(+)号的字段位置自动补空值 连接的分类: 等于的连接 = 不等于的连接 != BETWEEN AND IN 注意IN和OR不能一起用 8 J2EE zxw 外连接 有一个字段名(+) , 没有满足的条件补空值 自连接 同一个表自己跟自己连接 例如找重复记录 2. 数据表间的连接例子 删除table_name表里字段名email重复的记录: SQLdelete from table_name t1 where t1.rowid (select min(rowid) from table_name t2 w

39、here t1.email = t2.email group by email having count(email) 1); 找到手机用户的服务区域: SQL select a.handphoneno,nvl(,null),a.totalscore from topscore a,chargeoperator cc,chargeoperatorinfo c where substr(a.handphoneno,1,7)=cc.hpnohead(+) and cc.chargetype=c.chargetype(+) order by a.totalscore desc; 3. 数

40、据表间的连接技巧 连接N个表, 需要N-1个连接操作 被连接的表最好建一个单字符的别名, 字段名前加上这个单字符的别名 BETWEEN . AND. 比用 = AND grant plustrace to &username; 一般用户下运行/ORACLE_HOME/rdbms/admin/utlxplan.sql 产生plan_table SQL set time on; 说明:打开时间显示 SQL set autotrace on; 说明:打开自动分析统计,并显示SQL语句的运行结果 SQL set autotrace traceonly; 说明:打开自动分析统计,不显示SQL语句的运行结

41、果 接下来你就运行测试SQL语句,看到其分析统计结果了。 一般来讲,我们的SQL语句应该避免大表的全表扫描。 SQL set autotrace off; 说明:关闭自动分析统计 五、集合函数 经常和group by一起使用 1. 集合函数列表 AVG (DISTINCT | ALL | N) 取平均值 COUNT (DISTINCT | ALL | N | expr | * ) 统计数量 MAX (DISTINCT | ALL | N) 取最大值 MIN (DISTINCT | ALL | N) 取最小值 SUM (DISTINCT | ALL | N) 取合计值 9 J2EE zxw ST

42、DDEV (DISTINCT | ALL | N) 取偏差值,如果组里选择的内容都相同,结果为0 VARIANCE (DISTINCT | ALL | N) 取平方偏差值 2. 使用集合函数的语法 SELECT column, group_function FROM table WHERE condition GROUP BY group_by_expression HAVING group_condition ORDER BY column; 3. 使用count时的注意事项 SELECT COUNT(*) FROM table; SELECT COUNT(常量) FROM table; 都

43、是统计表中记录数量,如果没有PK后者要好一些 SELECT COUNT(all 字段名) FROM table; SELECT COUNT(字段名) FROM table; 不会统计为NULL的字段的数量 SUM,AVG时都会忽略为NULL的字段 4. 用group by时的限制条件 SELECT字段名不能随意, 要包含在GROUP BY的字段里 GROUP BY后ORDER BY时不能用位置符号和别名 限制GROUP BY的显示结果, 用HAVING条件 5. 例子 SQL select title,sum(salary) payroll from s_emp where title lik

44、e VP% group by title having sum(salary)5000 order by sum(salary) desc; 找出某表里字段重复的记录数, 并显示 SQL select (duplicate field names) from table_name group by (list out fields) having count(*)1; 6. 判断题(T/F) (1) Group functions include nulls in calculations F (2) Using the having clause to exclude rows from a

45、 group calculation F 解释: Group function 都是忽略NULL值的 如果您要计算NULL值, 用NVL函数 Where语句在Group By前把结果集排除在外Having语句在Group By后把结果集排除在外 六、子查询 1. 查询语句可以嵌套 例如: SELECT FROM (SELECT FROM表名1, 表名2, WHERE 条件) WHERE 条件2; 2. 何处可用子查询? 当查询条件是不确定的条件时 DML(insert, update,delete)语句里也可用子查询 HAVING里也可用子查询 3. 两个查询语句的结果可以做集合操作 例如:

46、并集UNION(去掉重复记录) 并集UNION ALL(不去掉重复记录) 10 J2EE zxw 差集MINUS, 交集INTERSECT 4. 子查询的注意事项 先执行括号里面的SQL语句,一层层到外面 内部查询只执行一次 如果里层的结果集返回多个,不能用= = select title,avg(salary) from s_emp group by title Having avg(salary) = (select min(avg(salary) from s_emp group by title); 找到最低平均工资的职位名称和工资 5. 子查询的例子(2) 子查询可以用父查询里的表名

47、 这条SQL语句是对的: SQLselect cty_name from city where st_code in (select st_code from state where st_name=TENNESSEE and t_code=t_code); 说明:父查询调用子查询只执行一次 6.取出结果集的80 到100的SQL语句 ORACLE处理每个结果集只有一个ROWNUM字段标明它的逻辑位置, 并且只能 用ROWNUM80。 以下是经过分析后较好的两种ORACLE取得结果集80到100间的SQL语句 ( ID是唯一关键字的字段名 ) 语句写法: SQLselect * from ( ( select rownum as numrow, c.* from ( select field_name,. from table_name where 条件1 order by 条件2) c) where numrow 80 and nu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论