Oracle 基礎查詢
- SQL (Structured Query Language )結構化查詢語言。
查詢是一種從一個或多個表或視圖中檢索數據的操作,不會改變表中的數據。
查詢數據是數據庫的核心操作,是使用頻率最高的操作。
- select語句的基本語法格式是:
select [distinct] * | 列名1[as c1],列名2[as c2]..., 列名n , 組函數(...)
from 表名1別名1,表名2別名2...
[where 條件]
[group by 列名1,列名2..., 列名n ]
[having 條件]
[order by 排序列名1 ASC | DESC , 排序列名2 ASC | DESC...]
- SQL執行計劃
(8)SELECT (9)DISTINCT (11)<Top Num> <select list>
(1)FROM [left_table]
(3)<join_type> JOIN <right_table>
(2)ON <join_condition>
(4)WHERE <where_condition>
(5)GROUP BY <group_by_list>
(6)WITH <CUBE | RollUP>
(7)HAVING <having_condition>
(10
例:
1) 查詢出部門表中 所有部門的編號與名稱
selectd.id,d.name
from s_dept d;
2) 查詢出部門表中 所有部門的編號與名稱,位置
Select d.id,d.name,d.region_id
From s_dept d;
3) 查詢出員工表中的 員工的編號,姓名,薪水與職位
selecte.id,e.first_name,e.salary,e.title
froms_emp e;
4) 查詢出員工表中的所有信息
select * from s_emp;
- 表的別名,列的別名
distinct關鍵字: 去重,必須放在開頭字段前,會作用於後面所有的字段
本身是 二重循環查詢,當數據量較大時,不適用
|| 表示拼接
nvl() 表示空值置換函數
示例:
1) 從s_emp表中查詢公司中所有職位
select distinct title from s_emp;
- 排序: order by 列名1 asc | desc , 列名2 asc | desc .... [ 默認升序]
示例:
2) 查詢出所有的員工信息,按照他們的薪水的降序排列
select * from s_emp e order by e.salary;
3) 查詢出所有的員工信息,按照他們的薪水的降序排列,若工資相同,根據入職日期的升序排列
select * from s_emp e
order by e.saaryldesc , e.start_dateasc;
Oracle 基礎查詢