大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Oracle限定查詢詳解

Oracle限定查詢詳解

更新時間:2021-03-08 17:25:43 來源:動力節點 瀏覽1264次

限定查詢顧名思義就是在查詢時對查詢條件有一定的限定,限定查詢廣泛存在于各大數據庫中,比如我們要講的Oracle數據庫中的Oracle限定查詢就是在一般查詢語法的基礎上增加了一個WHERE子句,用于指定限定條件,此時語法如下:

SELECT [DISTINCT] * | 字段 [別名] [,字段 [別名]]

FROM 表名稱 [別名]

[WHERE 條件(S)];

在WHERE子句之后可以增加多個條件,最常見的條件就是基本的關系運算:>、>=、<、<=、!=(<>)、BETWEEN、AND、LIKE、IN、IS NULL、AND、OR、NOT;

1、關系運算

范例:要求查詢出基本工資高于1500的所有雇員信息

SELECT * FROM emp WHERE sal>1500;

范例:查詢出所有職位是辦事員的雇員信息

SELECT * FROM emp WHERE job='clerk';

這個時候沒有返回相應的查詢結果,主要原因是在Oracle數據庫中,所有的數據都是區分大小寫的,所以代碼修改如下:

SELECT * FROM emp WHERE job='CLERK';

以上只是操作了一個條件,現在也可以操作多個條件,而這多個條件之間可以使用AND或OR進行連接操作。

范例:查詢工資在1500~3000之間的全部雇員信息

SELECT * FROM empWHERE sal>=1500 AND sal<=3000;

范例:查詢出職位是辦事員,或者是銷售人員的全部信息

SELECT * FROM empWHERE job='CLERK' OR job='SALESMAN';

范例:查詢出職位是辦事員,或者是銷售人員的全部信息,并且要求這些雇員的工資大于1200

SELECT * FROM empWHERE (job='CLERK' OR job='SALESMAN') AND sal>1200;

范例:查詢所有不是辦事員的雇員信息

SELECT * FROM emp WHERE job<>'CLERK';

SELECT * FROM emp WHERE job!='CLERK';

SELECT * FROM emp WHERE NOT job='CLERK';

2、范圍判斷:BETWEEN…AND…

“BETWEEN 最小值 AND 最大值”,表示的是一個范圍的判斷過程。

范例:要求查詢出基本工資在1500~3000的雇員信息

SELECT * FROM empWHERE sal BETWEEN 1500 AND 3000;

范例:現在也可以對BETWEEN…AND…操作求反

SELECT * FROM empWHERE NOT sal BETWEEN 1500 AND 3000;

“BETWEEN…AND…”操作符不光只是針對于數字有用,對于日期也同樣有用。

范例:要求查詢出在1981年雇傭的全部雇員信息

時間范圍:1981-01-01~1981-12-31,使用hiredate字段表示雇傭日期;

hiredate字段上的內容可以使用字符串表示:’01-1月-1981’~’31-12月-81’

SELECT * FROM empWHERE hiredate BETWEEN '01-1月-1981' AND '31-12月-81';

3、判斷是否為空:IS (NOT) NULL

使用此語法可以判斷某一個字段上的內容是否是“null”,但是null和數字0以及空字符串是兩個概念。

范例:查詢出所有領取獎金的雇員信息

SELECT * FROM empWHERE comm IS NOT NULL;

SELECT * FROM empWHERE NOT comm IS NULL;

范例:查詢出所有不領取獎金的雇員

SELECT * FROM empWHERE comm IS NULL;

4、指定范圍的判斷:IN操作符

IN操作符表示的是指定一個查詢的范圍,例如,現在有如下一個查詢要求:

范例:查詢出雇員編號是7369、7566、7799的雇員信息

如果按照最早的做法,使用OR操作完成;

SELECT * FROM empWHERE empno=7369 OR empno=7566 OR empno=7799;

如果現在使用了新的操作符IN的話,則代碼簡單了;

SELECT * FROM empWHERE empno IN (7369,7566,7799);

而如果現在使用的是NOT IN呢?則表示不在指定的范圍之中。

SELECT * FROM empWHERE empno NOT IN (7369,7566,7799);

注意點:關于NOT IN的問題

如果現在使用了IN操作符,查詢的范圍之中存在了null,不影響查詢;

SELECT * FROM emp WHERE empno IN(7369,7566,null);

如果現在使用的是NOT IN操作符,如果查詢范圍之中有了null則表示的就是查詢全部數據。

SELECT * FROM emp WHERE empno NOT IN(7369,7566,null);

對于這個限制,現在先作為特點記住,以后會講解為什么NOT IN之中不能出現null。

5、模糊查詢:LIKE子句

LIKE子句的功能是提供了模糊查找的操作,例如:某些程序上出現的搜索操作,都屬于LIKE子句的實現,但是必須提醒的,搜索引擎上的查詢可不是LIKE。

但是要想使用LIKE子句則必須認識兩個匹配符號:

匹配單個字符:_;             ->  1個

匹配任意多個字符:%;      ->  0個、1個、多個

范例:要求查詢雇員姓名中以字母A開頭的全部雇員信息

SELECT * FROM emp WHERE ename LIKE 'A%';

范例:要求查詢出雇員姓名中第二個字母是A的全部雇員信息

SELECT * FROM emp WHERE ename LIKE '_A%';

范例:要求查詢出雇員姓名中帶有字母A的雇員

SELECT * FROM emp WHERE ename LIKE '%A%';

現在也可以使用NOT操作,對操作進行求反的功能:

SELECT * FROM emp WHERE ename NOT LIKE '%A%';

但是對于LIKE子句,不一定只能在字符串數據上表示,可以在任意的數據上表示:

SELECT * FROM emp WHERE ename LIKE '%1%' OR hiredate LIKE '%1%' OR sal LIKE '%1%';

說明:關于LIKE子句的使用

在開發之中,數據庫的模糊查詢肯定使用LIKE子句,但是在使用LIKE子句的時候有一個最大的注意點:如果在模糊查詢上不設置任何的查詢關鍵字的話('%%')則表示查詢全部記錄:

SELECT * FROM emp WHERE ename LIKE '%%' OR hiredate LIKE '%%' OR sal LIKE '%%';

Oracle限定查詢是我們必須要掌握的,能夠在使用Oracle數據庫中的過程中快速得到我們想要查詢的數據,在本站的Oracle教程中,對于限定查詢的詳細規則和語法都有詳細的講解,步步為營,幫助我們打好基礎,學好Oracle!

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产成人a v在线影院 | 日本免费不卡视频一区二区三区 | 国产一区二区免费在线观看 | 天天爱天天操 | 伊人婷婷色 | 一区二区不卡久久精品 | 四虎四虎1515hhcom | 亚洲天堂一区二区三区 | 欧美视频日韩专区午夜 | 色拍拍噜噜噜aⅴ在线观看 色拍拍欧美视频在线看 | 亚洲高清在线视频 | 五月久久亚洲七七综合中文网 | 久久免费国产精品一区二区 | 中文字幕亚洲视频 | 欧美日韩一区二区视频免费看 | 国产成人精品久久二区二区 | 曰本人一级毛片免费完整视频 | 免看一级a毛片一片成人不卡 | 久久99精品一级毛片 | 色婷婷综合在线视频最新 | 成人在线视频免费观看 | 色综合色 | 香蕉成人啪国产精品视频综合网 | 欧美日韩国产亚洲一区二区三区 | 在线播放五十路乱中文 | 日韩欧美~中文字幕 | 四虎永久免费网站免费观看 | 久久婷婷激情综合中文字幕 | 国产精品久久久精品视频 | 亚洲精品不卡久久久久久 | 激情视频日本 | 国产精品网站在线观看 | 亚洲另类伦春色综合妖色成人网 | 奇米第四色777 | 麻豆传煤一区免费入 | 国产成人综合欧美精品久久 | 99热这里有精品 | 成人欧美精品久久久久影院 | 爽爽影院免费观看视频 | 亚洲欧美日韩一区二区在线观看 | 日日摸夜夜嗷嗷叫日日拍 |