Oracle資料庫基礎學習DAY2

2021-08-17 13:17:55 字數 3148 閱讀 2439

1、單行函式-數字

函式說明

sin(x)

返回x的正弦值

sinh(x)

返回x的雙正弦值

sqrt(x)

返回x的平方根,x必須大於0

tan(x)

返回x的正切值

tanh(x)

返回x的雙正切值

trunc(x,[,y])

擷取數字。如y省略,則截去x的小數部分;

y為負,截小數點前y位

y為正,截小數點後y位

log(y,x)

返回以y為底數的對數,y不能為0

mod(y,x)

返回y除以x的餘數,如果x為0則返回y

power(y,x)

返回以y為底的x次冪,y和x可為任意數字,y為負,x必須為正

round(x,[,y])

四捨五入,y省略,四捨五入到整數字;

y為負,則到小數點前y位

y為正,則到小數點後y位

sign(x)

檢查x的正負,如果x為負,返回-1,為正返回1,0返回0

2、單行函式-日期

oracle中日期和時間是一起儲存的,其資料型別是date或者timestamp

·date可以儲存年、月、日、時、分、秒

·timestamp除了以上還可以儲存帶小數的秒、時區

3、單行函式-數字

oracle中,以7位數字格式來存放日期時間,

其整數部分從西元前2023年1月1日開始。

預設的日期格式

dd-mm-yyyy

01-5月-2013

4、單行函式-日期函式

oracle提供了4種顯示的日期,字元轉換函式

常用的為以下兩種

·to_char()

//把日期或數字轉換為字串

select ename,to_char(hiredate,'yyyy-mm-dd') from scott.emp;

·to_date()

//把字串轉換為日期型別

select to_date('2006-05-01','yyyy-mm-dd') from dual;

5、單行函式-日期時間運算函式

·add_month()

//月份增加

select sysdate,add_months(sysdate,3) from dual;

·last_day()

//當月最後一天

select sysdate,last_day(sysdate),last_day(sysdate)+1 from dual;

·months_between()

//月份差

select months_between('17-9月-2013','17-9月-2013') from dual;

·next_day()

//下乙個滿足條件的日期

select next_day(sysdate,'星期一') as 第乙個結果,

next_day('18-9月-2013','星期六') as 第二個結果 from dual;

6、單行函式-字元函式

·chr()

//ascii轉換

select chr(65),chr(97) from dual;

·concat()

//字串連線

select concat('新點','軟體****') from dual;

·initcap()

//單詞首字母大寫

select initcap('xindian,ruan jian') from dual;

·length()

//字串長度

select length('xindian ruan jian') from dual;

·lower()

//字串小寫

select lower('xindian,ruan jian') from dual;

·upper()

//字串大寫

select upper('xindian,ruan jian') from dual;

7、集合查詢

·集合運算子,可以將多個select語句的查詢結果集合並起來

運算子說明 union all

返回兩個結果集的所有行,包括重複行,即並

union

返回兩個結果集的所有行,不包括重複行,即並

minus

返回第乙個結果集中有但是第二個結果集中沒有的行,即差

intersect

返回兩個結果集都有的行,即交

8、子查詢

子查詢是指巢狀在其他sql語句中的乙個查詢

使用子查詢可以用一系列簡單的查詢構成複雜的查詢,

從而明顯增強sql語句的功能。

子查詢在查詢前執行一次。主查詢使用子查詢的結果

9、子查詢-分類

·單行子查詢是指不向外層查詢返回查詢記錄或者只返回一條查詢記錄

·多行子查詢可以向外層返回多行記錄

·多行子查詢使用的運算子:in、not in、exists、not exits、all、any,

其中all和any必須與比較運算子一起綜合使用。

多列子查詢一般用於比較多個列的資料,在多列子查詢返回單行資料時,

在where子句中可以使用單號運算子(如=),

當返回多行資料時則必須使用多行運算子(如in)

#############################練習#######################################

1、查詢與部門20崗位不同的員工姓名、工資

select ename, sal

from emp

where  job not in (select distinct job from emp where deptno = 20);

2、查詢與smith部門、崗位完全相同的員工姓名、工作、工資

select ename, job, sal

from emp

where ename <> 'smith'

and deptno = (select deptno from emp where ename = 'smith')

and job = (select job from emp where ename = 'smith');

Oracle資料庫基礎學習04 啟動資料庫

oracle的例項必須處於正常啟動的狀態,客戶端才能夠連線和運算元據庫的資料。在oracle中,啟動資料庫包含將一系列的程序和記憶體執行起來,並載入控制檔案中的資料庫。oracle的啟動過程分好幾個階段,可以通過命令列引數設定啟動到特定的階段。最簡單的啟動方式是在sql plus中使用 startu...

oracle資料庫基礎

1.什麼叫關係型資料庫 基於關係模型的資料庫就叫關係型資料庫。2.那什麼叫關係模型了 使用的儲存結構是多個二維表,實體與實體間的聯絡都是用關係來表示的。oracle資料庫是關係型資料庫 1.sql plus的常用命令 1 conn ect 用法 conn 使用者名稱 密碼 網路服務名 as sysd...

Oracle資料庫基礎!

ddl 資料庫定義語言 dml 資料庫操縱語言 dql 資料庫查詢語言 oracle 甲骨文公司的產品 字元型 char 日期型別date 大字段 樣本資料庫 約束 限制表中的列可以存放什麼樣的資料 not null不允許為空 check一種檢查約束,開發不用 2 檢視表結構 desc 表名 3 資...