天天看點

ORACLE sql 基礎查詢

資料庫的查詢最基本的select * from table 查到表的全部列開始。若想選擇表中的特定列,隻需要将*号改成所需要查找的表中ID即可,當然在這個簡單的SELECT語句基礎上我們同樣可以用到數學運算符:+ - * /,和數學運算法則一樣,這裡同樣遵守的是先乘除後加減,先算括号内再算括号外,同一優先級運算符從左向右執行。

Eg:每個月工資加八百,然後計算一年的工資總數

Select last_name,salary,12*(salary+800) from employees

ORACLE sql 基礎查詢

剛剛的查詢語句中,我們會看出當我們運用運算符之後就會将查詢資料的字段顯得很繁瑣而且很長,有時候我們表中有的列名也過長想顯示的簡單,我們就需要用到列的别名。

Eg:給運算的年終獎字元起了别名a ,用as 連接配接。當然我們也可以直接在字段名後空格隔開,然後直接加上重命的名字。

Select last_name,salary,12*(salary+800) a from employees

Or Select last_name,salary,12*(salary+800) as a from employees

ORACLE sql 基礎查詢

有了最基本的查詢語句,我們需要做的就是在簡單基礎之上,将語句一步步複雜化。我們select * from table相類似的語句都是将整張表的資料内容展示出來,有時我們隻需要其中的某一條或者某幾條資料,就是時候加上我們的過濾條件了,它的關鍵詞是where。使用where子句來查詢,就可以實作将我們不需要的資料過濾掉的效果。當然我們書寫的格式要記住where永遠緊随FROM之後

Eg:查詢部門ID為80的員工名字和工資。

Select last_name,salary from employees where departMENT_ID=80;

ID都是數字類型,可直接在等号後面寫。而有時我們也需要查字元和日期的格式的資料,一定要包含在單引号之中(Select last_name,salary from employees where last_name='King'),日期同字元類型一樣

ORACLE sql 基礎查詢
ORACLE sql 基礎查詢

在where子句中除開=之外,還有> ,= ,>=,<,<=,<>的比較運算符,以>為例查詢員工工資高于3000eg:(Select last_name,salary from employees where salary>3000;),

ORACLE sql 基礎查詢

了解符号運算符之後,其他一些比較運算符也需要記住,BETWEEN ...AND來顯示在一個區間内的值,IN顯示清單中的值。Where...LIKE子句和我們背景代碼中模糊查詢是一樣的。Eg:查詢員工ENAME的第三個字母是A的員工的資訊(使用2個函數)。

select concat(last_name,first_name) from employees

where upper(concat(last_name,first_name)) like'__A%'

ORACLE sql 基礎查詢

,值得說明例句中有兩個函數,concat是連接配接兩個字元,它的作用和||連接配接符一樣, upper是将小寫轉換為大寫的函數。_下劃線是代替查詢條件中字元的位置,這裡我們需要的是第三個字母,是以我們在前面需要加上兩個_。另外邏輯連接配接運算符AND OR NOT的作用亦不可忽視。AND 要求并的關系為真。OR 要求或關系為真。NOT 不屬于查詢條件任意一個值。

說完where ,還有order by ORDER BY 子句在SELECT語句的結尾。是一個排序資料的語句。和它與之相關的

就是desc降序,asc升序 舉一個升降序都用到的例子。 

 以Cno升序、Degree降序查詢Score表的所有記錄。

  select * from Score order by Cno asc , Degree desc;

ORACLE sql 基礎查詢