條件和排序
一、符號補充
用於where比較條件的有:1、等於: =、<、<=、>、>=、<>
2、包含: in、not in、 exists、not exists
3、範圍: between……and、not between……and
4、匹配測試: like、not like
5、Null測試: is null、is not null
6、布林連結: and、or、not
萬用字元:在where子句中,萬用字元可與like條件一起運用。在Oracle中:
1、%(百分號): 用來表示任意數量的字元,或者可能根本沒有字元。
2、_(下劃線): 表示確切的未知字元。
3、?(問號): 用來表示確切的未知字元。
4、#(井號): 用來表示確切的阿拉伯數字,0到9.
5、[a-d](方括號): 用來表示字元範圍,在這裡是從a到d.
二、模糊查詢
我們可以在where子句中使用like關鍵字來達到Oracle模糊查詢的效果;
在Where子句中,可以對datetime、char、varchar欄位型別的列用Like關鍵字配合萬用字元來實現模糊查詢
三、變數
如果不使用替換變數,每次操作我都都要修改指令碼。非常不便,如果使用替換變數,我們可以將帶變數的語句存放在sql指令碼中,每次執行時,只需要輸入替換變數的值就可以了。
1、&:&引用的替換變數只在當前SQL有效
2、&&:&&引用的替換變數則在當前會話有效
3、SET VERIFY:如果要顯示SQL*Plus使用替換值替換後的指令碼檔案,可以使用SET VERIFY ON/OFF 命令
4、SET DEFINE:在儲存過程或包體裡面,經常有在字串中使用&的情況,執行指令碼時,經常會將這些字串視為替換變數,要求輸入值,這樣煩不甚煩,其實只需要設定一下SQL*PLUS的環境變數即可避免這種情況。通常通過SET DEFINE OFF
5、DEFINE
a) 使用DEFINE定義了的變數,可以使用&引用宣告的變數。其作用範圍或生命週期通常是整個會話。
b) 如果定義了變數後,需要清除變數,則可以使用UNDEFINE清除變數
c) 使用DEFINE VARIABLE來檢視變數
四、where 語句整理
-
--數字比較(<):工資小於6000
-
select last_name ,salary
-
from employees
-
where salary < 6000 ;
-
-
--字串比較(=):員工 名字,查詢King 的工資
-
select last_name ,salary
-
from employees
-
where last_name='King' ;
-
-
--時間比較(=)
-
--僱傭日期是 1998.07.01 的員工 名字, 工資
-
--確定時間格式
-
select sysdate from dual;
-
22-oct-11
-
--查詢名字和工資
-
select last_name , salary
-
from employees
-
where hire_date = '01-jul-98' ;
-
-
--時間(between .. and ..):1998 年 2 月 入職的員工 名字和工資
-
select last_name , salary
-
from employees
-
where hire_date between '01-2月-98' and '28-2月-98' ;
-
-
--10----60 號部門員工
-
--between .. and ..:
-
select last_name , salary
-
from employees
-
where department_id between 10 and 60 ;
-
--比較運算子:
-
select last_name , salary
-
from employees
-
where department_id >= 10
-
and department_id <= 60;
-
-
--in:10 , 30, 70 號部門員工
-
select last_name , salary
-
from employees
-
where department_id in ( 10,30,70 ) ;
-
-
--模糊查詢(_單個字元):
-
--模糊查詢(%多個字元,長度不固定)
-
--last_name 中 第三個字元是 s
-
select last_name , salary
-
from employees
-
where last_name like '__s%' ;
-
-
--last_name 中 倒數第三個字元是 s
-
select last_name , salary
-
from employees
-
where last_name like '%s__' ;
-
-
--1998 年入職的員工 名字和工資
-
--方法一:比較查詢
-
select last_name , salary
-
from employees
-
where hire_date between '01-1月-98' and '31-12月-98' ;
-
--方法二:萬用字元方式
-
select last_name , salary
-
from employees
-
where hire_date like '%98';
-
-
--2 月 入職的員工 名字和工資
-
select last_name , hire_date
-
from employees
-
where hire_date like '%-2月%';
-
-
--轉譯符,轉譯_
-
select * from t1
-
where a like 's_%' ;
-
-
select * from t1
-
where a like 's\_%' escape '\\';
-
-
--轉譯*
-
select * from t1
-
where a like 's*_%' escape '*';
-
-
--null值處理:哪些員工 沒有部門號
-
select last_name , salary
-
from employees
-
where department_id is null ;
-
-
--哪些員工 有部門號
-
--方法一
-
select last_name , salary
-
from employees
-
where department_id > 0 ;
-
--方法二
-
select last_name , salary
-
from employees
-
where department_id is not null
-
order by 2 ;
-
-
--and:
-
--名字 S 開頭,並且工資高於 8000 的員工
-
select last_name , salary
-
from employees
-
where last_name like 'S%' and salary > 8000 ;
-
-
--排序order by
-
select last_name , hire_date
-
from employees
-
order by 2 ;
-
-
--verify:使用VERIFY 命令來顯示的替代變數之前和之後SQL開發人員替換替換變數的值
-
--&:用來提示使用者輸入一個數值:
-
set verify on
-
select last_name from employees
- where employee_id=&1;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24851054/viewspace-2145260/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle OCP(02):條件和排序Oracle排序
- Linq查詢之多個排序條件排序
- 32、條件格式和公式公式
- 「譯」編寫更好的 JavaScript 條件式和匹配條件的技巧JavaScript
- SpringBoot整合Jpa對資料進行排序、分頁、條件查詢和過濾Spring Boot排序
- JS迴圈和條件分支JS
- 談談raft fig8 —— 迷惑的提交條件和選舉條件Raft
- jQuery 條件搜尋查詢 實時取值 升降序排序jQuery排序
- 程式返回條件的0和1
- 條件和布林操作符
- 關於外連線和where條件
- SqlServer中迴圈和條件語句SQLServer
- 條件渲染
- Vue 基礎自查——條件渲染和列表渲染Vue
- javaSE練習--運算子和條件結構Java
- Concurrency(三:競態條件和臨界區)
- 查詢條件和條數,先查詢兩條免費的,後面為vip
- If條件倒裝
- Selenium等待條件
- 條件函式函式
- 屈服條件8
- openGauss 前提條件
- 條件語句
- Excel 條件格式Excel
- PL/SQL 條件SQL
- react 條件渲染React
- Flutter 新聞客戶端 - 15 strapi 資料建模 graphql 條件查詢排序Flutter客戶端API排序
- T-SQL——關於Join on的的連線條件和where的篩選條件的區分SQL
- C 語言教程:條件和 if...else 語句
- Go的100天之旅-07條件和迴圈Go
- Python-條件語句和迴圈語句Python
- Oracle OCP(06):通用函式和條件表示式Oracle函式
- angularjs+ionic的app端分頁和條件AngularJSAPP
- excel條件格式怎麼設定 excel條件格式在哪裡Excel
- 讀《我和Labview》5條件結構和順序結構View
- springboot 條件裝配Spring Boot
- java-queryWrapper條件JavaAPP
- mysql條件查詢MySql
- switch拼接where條件