欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

程序员文章站 2022-08-05 20:24:33
1.查询的嵌套 select * from (select loginname,password from (select id ,loginname, password ,name fromiwe...

1.查询的嵌套

select * from (select loginname,password from

(select id ,loginname, password ,name fromiweb_tbl_user t where name like '%张%'))

where loginname= 'zhangyin';

(由内到外。)

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

有序的查询:

select * from tbi_user order by id;

2.插入

insert into iweb_tbl_user(,,,..)values(,,,..);

commit;

3.更新变大写函数

update iweb_tbl_user set loginname=upper(loginname)||’wh’where id=16;

4.删除

delect from *;

5.时间

select sysdate-to_date('2000-10-10','yyyy-mm-dd') fromdual;

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

6. 分页查询语句

select id,loginname,name,sex,age, rownum fromiweb_tbl_user;

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

select * from

(select id,loginname,name,sex,age, rownum rn fromiweb_tbl_user where rownum < =15)

where rn>=11;

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

7用查询的结果创建新表

createtable tbl_text as

select * fromiweb_tbl_user;

8 去重

select distinct sexfrom iweb_tbl_user;

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

selectdistinct sex ||age from iweb_tbl_user;

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

9取别名
select distinct (sex||age) as kk from iweb_tbl_user;

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

select distinct (sex||age) as kk ,t.* from iweb_tbl_user t;

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

二丶事务控制语言

commit 提交

rollback 撤销实务中已完成的工作

savepoint 标记事物中可以回滚的点

三丶算数操作符

1.+ - * \

update iweb_tbl_user set id = id-13 ;

select age, age +1 newage fromiweb_tbl_user;

2.比较 in ,like

slect * from iweb_tbl_user

where age!=20;

where age between 20and 22;

where agein(20,21,22,23);

where name like ‘%李%’

where age is null;

where age is notnull;

3.集合操作符

select * fromiweb_tbl_user

where age > 20union all (把两个select语句联合)

select * fromiweb_tbl_user

where age <= 20;

union(或称为联合)的作用是将多个结果合并在一起显示出来。

union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。

select * fromiweb_tbl_user

where age > 18intersect

select * fromiweb_tbl_user

where age <= 20;

intersect:对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;

minus:两个集合相减

3.链接字符串

||

四丶sql函数

1)日期函数

add_months

months_between

trunc 按指定的格式截取输入的数据返回时间格式

round 四舍五入 返回时间格式

last_day

next_day

extract 返回数字

select id, book_id,user_id, borrowdate, returndate, returndate-borrowdate inter,

add_months(returndate,3)m3

from iweb_tbl_record;

selectlast_day(sysdate) from dual; 计算某日期所在月份最后一天

selectnext_day(sysdate, '星期一') from dual;

select extract(yearfrom returndate) from iweb_tbl_record;

2)字符函数

lnitcap() 第一个字母大写

lower() 全部小写

upper() 全部大写

ltrim() 筛选

……

chr(66)

ascii(‘s’)

lpad(loginname, 10,'*') 左边补充

rpad(loginname, 10,'*') 右边补充

decode (sex,’男’,’male’,’女’,’female’) 重新解释

trim(' ab ')去除前后空格

3)数字函数

abs(-15) 取正

ceil(15.89) 16 向上取整数

floor(15.2222)15 向下取整数

power(2,22) 第一位的多少次方

mod(24,22) 取余数

round(26.22,1) 向上保留小数

trunc(26.22,1) 向下保留小数

sqrt(9) 开根号

sign(45439) 判断正负

……

4)分组函数

1.groupby

分组与 聚合

select sex,age,sum(age) sumage,count(name) cn from iweb_tbl_user

group by sex,age;

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

2.having

select sex,age,sum(age) sumage,count(name) cn from iweb_tbl_user

group by sex,agehaving count(name) > 1;

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

5)分析函数

1.row_number 连续

它会为查询出来的每一行记录生成一个序号,依次排序且不会重复,注意使用row_number函数时必须要用over子句选择对某一列进行排序才能生成序号。

select t.*,

row_number() over(partition by sex order by age) tk

from iweb_tbl_usert;

2.rank() 排序

selectt.*,

rank()over (partition by sex order by age) tk

fromiweb_tbl_user t;

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

3. dense_rank 既连续又排序

selectt.*,

dense_rank() over (partition by sex order by age) tk

fromiweb_tbl_user t;

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

6)多表查询

内链接

selectr.id, book_id, title, user_id, name, borrowdate, returndate

from iweb_tbl_record r, iweb_tbl_book b,iweb_tbl_user u

wherer.book_id = b.id and r.user_id = u.id;

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解

外链接

selectr.id, book_id, user_id, name, borrowdate, returndate

from iweb_tbl_record r right joiniweb_tbl_user u

onr.user_id = u.id;

Oracle数据库学习之查询的嵌套、事务控制语言、集合操作符和SQL函数讲解