oracle學習筆記(二)
一、多行函數(shù)又稱組合函數(shù)(Group Functions)、聚合函數(shù)
1、 Types of Group Functions
avg、count、max、min、stddev、sum、variance
avg 求平均數(shù)
select avg(nvl(列1,0)) from 表1
count求行數(shù)
在where條件中不允許使用聚合函數(shù),但可以使用having avg(列1)>1000
having所起的作用和where一樣
二、子查詢Subqueries
查詢前10行數(shù)據(jù)
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
四、數(shù)據(jù)操作語句
1、insert插入語句
向表2里插入數(shù)據(jù)
oracle:insert into (select 列1,列2 from 表2)values('XXX','XXX');
oracle/sql:insert into(列1,列2)values('XXX','XXX');
從另一個表里復制數(shù)據(jù)
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鎖
對并發(fā)性系統(tǒng)自動加鎖,事務提交后、或回滾后自動解鎖。
相關文章
SQL Server 實現(xiàn)數(shù)字輔助表實例代碼
這篇文章主要介紹了SQL Server 實現(xiàn)數(shù)字輔助表的相關資料,并附實例代碼,需要的朋友可以參考下2016-10-10
WIN10運行SQL2000安裝程序時沒有反應的問題解決辦法
Win10系統(tǒng)上安裝2000數(shù)據(jù)庫或者msde的數(shù)據(jù)庫經(jīng)常在打開第一步安裝的時候就報錯或者沒有反應,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2024-06-06
SQL?Server實現(xiàn)group_concat函數(shù)的詳細舉例
這篇文章主要給大家介紹了關于SQL?Server實現(xiàn)group_concat函數(shù)的詳細舉例,GROUP_CONCAT函數(shù)可以拼接某個字段值成字符串,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-11-11
sqlserver數(shù)據(jù)庫移動數(shù)據(jù)庫路徑的腳本示例
前段時間做過這么一件事情,把原本放在c盤的所有數(shù)據(jù)庫(除了sql server系統(tǒng)文件外)文件Move到D盤,主要是為了方便后續(xù)管理以及減少磁盤I/O阻塞(C,D是2個獨立磁盤)。腳本需輸入2個參數(shù):目標數(shù)據(jù)庫名字和目標目錄2013-12-12

