【oracle】五、select基本查詢用法、select查詢順序


SELECT語法

一、select 基本結構和簡單查詢

1.1 select結構

select * |字段[,...] from table [表]

select 關鍵字 后面跟要查詢的內容 from 關鍵字后面跟數據的來源

解析步驟

  1. from找來源
  2. select 挑數據

二、去重、別名和排序

2.1 去重

select distinct [字段][,...] from [表]

注意:去掉重復是去掉一行的記錄,按照一行記錄去去重的

2.2 別名

select [字段] [別名] from [表]
-- 字段和別名跟一個空格即可

-- 使用as方式.也可以加一個as進行別名的
select [字段] as [別名] from [表]

2.3 排序

-- 降序
select [字段] from [表名] order by [要排序的字段] desc;
-- 升序
select [字段] from [表名] order by [要排序的字段] asc;

2.4 多字段排序

select [字段] from [表名] order by [要排序的字段] desc, [要排序的字段] asc;
select [字段] from [表名] order by [要排序的字段] asc, [要排序的字段] desc;

三、偽列和虛表

3.1偽列

查詢不存在的列即偽列,當需要的結果,不能直接從表里得到,是需要額外計算的就稱之為偽列

-- 這里的1 就相當於偽列
select ename,1 from emp;

3.1.1 NULL處理

如果表里存在NULL值,就會影響我們計算,因為NULL和任何數計算都是NULL

-- 如果表達式值為true,則取表達式值,否則就取set值
NVL(表達式,set值)
-- 如果Order by 中指定了表達式Nulls first則表示null值的記錄將排在最前(不管是asc 還是 desc)
-- 如果Order by 中指定了表達式Nulls last則表示null值的記錄將排在最后 (不管是asc 還是 desc)
nulls first
nulls last

3.1.2 字符串拼接

字符串拼接,是為了偽列,中有些需要拼接 的列產生的

select [字段]||‘xx’ as [拼接的列] from [表名]

虛表3.2

虛表是dual;其實是為了滿足,某些數據的計算而產生的的

-- 計算 231*21
select 231*21 from dual;

四、select 執行順序

4.1 總結

  1. 簡單查詢(某些列、全部)
select 查詢字段1,查詢字段2 from 數據來源
  1. 去重
select distinct 查詢字段1,查詢字段2 from 數據來源
  1. 別名
select distinct 查詢字段1 as bm1,查詢字段2 as bm2 from 數據來源
  1. 偽列
select distinct 查詢字段1 as bm1,查詢字段2 as bm2, 表達式 as 別名 from 數據來源
  1. 排序
select distinct 查詢字段1 as bm1,查詢字段2 as bm2, 表達式 as 別名  from 數據來源 order by 要排序的字段 asc -- 默認升序 
select distinct 查詢字段1 as bm1,查詢字段2 as bm2, 表達式 as 別名  from 數據來源 order by 要排序的字段 desc -- 默認升序 
  1. 和null計算時,得到都是null
  2. 字符串拼接 || 如何和null拼接則是自己
  3. nulls first nulls last 根據選擇NULL值排序

4.2查詢順序

select .... from .. order by

  • from 數據源 (先確認數據源)
  • select (根據數據源確認要展示的列)
  • order by (根據要展示的列,進行排序或者正序展示。NULL值會影響排序!!!)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM