oracle学习笔记(二)

所属分类: 数据库 / MsSql 阅读数: 1828
收藏 0 赞 0 分享

一、多行函数又称组合函数(Group Functions)、聚合函数

1、 Types of Group Functions
avg、count、max、min、stddev、sum、variance
avg 求平均数
select avg(nvl(列1,0)) from 表1
count求行数
在where条件中不允许使用聚合函数,但可以使用having avg(列1)>1000
having所起的作用和where一样

二、子查询Subqueries

查询前10行数据
oracle: select * from 表名 where rownum<=10;
sql: select top 10 * from 表名
单行子查询
select * from 表1 where 工资列1>(select avg(工资列1) from 表1)
多行子查询
select * from 表1 where 工资列1 in(select min(工资列1) from 表1 group by 部门列)

三、自定义变量

set verify on/off
show all
help show/set

column lie justify left

四、数据操作语句

1、insert插入语句
向表2里插入数据
oracle:insert into (select 列1,列2 from 表2)values('XXX','XXX');
oracle/sql:insert into(列1,列2)values('XXX','XXX');
从另一个表里复制数据
oracle/sql:insert into 表(列1,列2)select 列1,列2 from 表2

2、update语句
都为: update table set column1='...'[ ,column2='...'] where ...
嵌入子查询的修改
update table set column1=(select column2 form table where columnid=1) where column1='...'

delete删除语句
delete [from] table [where condition]

merge 合并语句
oracle:
merge into 表1 a using 表2 b on (a.id=b.id)
when matched then
update set
a.name=b.name,
a.other=b.other
when not matched then
insert values(b.id,b.name,b.other);
sql:合并insert,update
方法1:
declare @ROWCOUNT int
set @ROWCOUNT=(select count(*) from tb_name where name1='5')
if @ROWCOUNT!=0
update tb_name set name2='55555555' where name1='5'
else
insert into tb_name(name1,name2) values('5','插入')
方法2:
update tb_name set name2='55555555' where name1='6'
if @@ROWCOUNT=0
insert into tb_name(name1,name2) values('6','插入')

五,事务: 隐式、显式的事务

commit提交事务
rollback 回滚事务
locking锁
对并发性系统自动加锁,事务提交后、或回滚后自动解锁。

更多精彩内容其他人还在看

sql server获得新记录标识列值的二种方法

有时开发需要我们需把新插入的记录之后立即返回插入记录的ID哦,下面给大家介绍mssqlserver返回新添加的记录的标识列的值sql语句
收藏 0 赞 0 分享

mssqlserver恢复ldf文件数据的方法

本文介绍mssqlserver怎么恢复ldf文件数据库,简单的来说,MDF文件是SQL server用来存放数据的数据库文件;LDF文件SQL server是日志文件,存放了对数据库进行的所有操作信息
收藏 0 赞 0 分享

SQL查询某列指定长度的字符串多余的用省略号来表示

有时候为了美观,只需要显示前面几个字符串,剩下的可以用省略号来表示,下面有个不错的示例,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

MS SQL Server数据库清理错误日志的方法

SQL服务器磁盘空间爆满导致数据库无法访问。远程到服务器上,发现原来是SQL错误日志文件惹的祸,数据库在1秒内产生上100M大小的日志,没多长时间就将磁盘空间堵满了,下面说说解决方案
收藏 0 赞 0 分享

C#连接Excel2003和Excel2007以上版本做数据库的连接字符串

C#连接Excel2003和Excel2007以上版本做数据库的连接字符串具体如下,需要的朋友可以参考下
收藏 0 赞 0 分享

安装sql server 2008 management提示已安装 SQL Server 2005 Express的解决方法

SQL Server 2005 Express 工具不是sql server 2005 management,不用卸载sql server 2005 management,用一个小技巧就行
收藏 0 赞 0 分享

SQL Server 查询处理中的各个阶段(SQL执行顺序)示例

SQL不同于与其他编程语言的最明显特征是处理代码的顺序,以下就为大家详细的介绍一下,需要的朋友可以参考下
收藏 0 赞 0 分享

一个完整的SQL SERVER数据库全文索引的示例介绍

以下是介绍SQL SERVER数据库全文索引的示例,以pubs数据库为例。需要的朋友参考下
收藏 0 赞 0 分享

关于数据库优化问题收集汇总

笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。以下就对数据库优化问题进行了介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

SQL_Server全文索引的用法解析

SQL Server全文索引相信大家都有一定的了解,下面就为您介绍SQL Server全文索引的用法及相关的语句,希望可以让您对SQL Server全文索引能有更深的认识
收藏 0 赞 0 分享
查看更多