溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

oracle 語(yǔ)法

發(fā)布時(shí)間:2020-06-21 20:24:17 來(lái)源:網(wǎng)絡(luò) 閱讀:532 作者:z89177519 欄目:關(guān)系型數(shù)據(jù)庫(kù)

1.基本語(yǔ)法:SELECT *[列名 [[AS] 別名], 列名2...] FROM 表名 [[AS] 別名];


2. 使用||做連接:Oracle中的字符串用單引號(hào)。
   例:SELECT '姓名:'||ename||'月薪'||sal FROM emp;


3. 使用DISTINCT可以消除重復(fù)內(nèi)容


4. WHERE子句:使用WHERE指定的條件對(duì)數(shù)據(jù)進(jìn)行篩選,返回符合條件的記錄(行)。
   SELECT *[|列名 [[AS] 別名], 列名2...]
      FROM 表名 [[AS] 別名]
      WHERE 條件;
  1) WHERE子句可以包括運(yùn)算符,SQL操作符,使用(),常量,列,函數(shù)。


5. 運(yùn)算符:
  1) 算術(shù):+ - * /
  2) 比較:> >= < <= = !=(<>),
           ANY(值1,值2...) ALL(值1,值2...) 不能單獨(dú)使用,要配合>,>=,<,<=來(lái)使用
  3) 邏輯:AND OR NOT


6. SQL操作符:
  1) IN(值1,值2...)
  2) LIKE '模式字符串':_代表任意一個(gè)字符,%代表0到n個(gè)字符
  3) BETWEEN 數(shù)值1 AND 數(shù)值2:不僅可用于數(shù)值,還可以用于日期時(shí)間
  4) IS NULL,IS NOT NULL:匹配空值,非空值。對(duì)于空值一定不能用=或!=
  5) IS NAN:非數(shù)字。IS NOT NAN:數(shù)字。Oralce特有


7. Oracle特有的偽列:
   1) ROWID: Oracle內(nèi)部對(duì)每個(gè)表的每一行都有一個(gè)唯一的標(biāo)識(shí)。
 ★2) ROWNUM: Oracle對(duì)每次查詢結(jié)果集的每一行記錄都有一個(gè)行號(hào)。
              對(duì)結(jié)果集的數(shù)據(jù)進(jìn)行標(biāo)識(shí)。不能對(duì)ROWNUM直接使用>,>=,!=,between..and..
      怎么來(lái)獲取第5條到第10條的記錄呢?子查詢,連接查詢


8. 對(duì)結(jié)果進(jìn)行排序:
   SELECT *[|列名 [[AS] 別名], 列名2...]
      FROM 表名 [[AS] 別名]
      WHERE 條件
      ORDER BY 排序列名 [ASC|DESC], 排序列名 [ASC|DESC]...;


9. SQL函數(shù):數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)提供的一些功能封裝。不同的數(shù)據(jù)庫(kù)產(chǎn)品所提供的函數(shù)不盡相同。
  1) 單行函數(shù):同時(shí)只能對(duì)一行進(jìn)行操作,且對(duì)于每一行返回一個(gè)值。
     聚合函數(shù):同時(shí)對(duì)多行進(jìn)行操作,這多行只返回一個(gè)值。
  2) 單行函數(shù):
     a) 字符串:lower(char),upper(char),length(char),initcap(x)
     b) 數(shù)字:round(number,n)
     c) 日期時(shí)間:sysdate 返回?cái)?shù)據(jù)庫(kù)所在操作系統(tǒng)的當(dāng)前日期時(shí)間。
                  systimestamp 返回?cái)?shù)據(jù)庫(kù)所在操作系統(tǒng)的當(dāng)前時(shí)間戳。
                  last_day(d) 返回指定日期當(dāng)月的最后一天的日期時(shí)間
                  trunc(d[,unit]) 截?cái)嗳掌跁r(shí)間,unit: 'year', 'month', 'day'
     d) dual表是Oracle提供給任何用戶的一個(gè)表,常用在沒(méi)有目標(biāo)表的SELECT語(yǔ)句中。
     e) 轉(zhuǎn)換函數(shù):
        to_char(datatime[,format]), format: yyyy,mm,dd,hh34,mi,ss
        to_char(number[,format]), format: l, 9, ','
        to_date(char[,format]), 字符串-->日期時(shí)間
        to_timestamp(char[,format]), 字符串-->日期時(shí)間戳
        to_number(expr[,format])
     f)其它函數(shù):
        nvl(expr1,expr2)  如果expr1為空,返回expr2的值,否則返回expr1。
        nvl2(expr1,expr2, expr3)  如果expr1不為空,返回expr2,否則返回expr3。
        decode(expr, search2,result1,search3,result2,...)
        case expr when search2 then result1
                  when search3 then result2
                  ...
                  else resultn
        end


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI