日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 条件查询,比较运算符,逻辑运算符,特殊运算符,判断空值,大小写敏感,多行,多列子查询...

發(fā)布時間:2025/7/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 条件查询,比较运算符,逻辑运算符,特殊运算符,判断空值,大小写敏感,多行,多列子查询... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

oracle 條件查詢,比較運算符,邏輯運算符,特殊運算符,判斷空值,大小寫敏感,多行,多列子查詢博客分類:

  • oracle
OracleSQL 比較運算符 >,<:大于,小于 >=.<=:大于等于,小于等于 =:等于 !=,<>,^=:不等于
邏輯運算符運算的優(yōu)先順序是NOT,AND,OR。如果要改變優(yōu)先順序,可以使用括號
邏輯運算符 AND:邏輯與,表示兩個條件必須同時滿足 OR:邏輯或,表示兩個條件中有一個條件滿足即可 NOT:邏輯非,返回與某條件相反的結(jié)果
特殊運算符 [NOT] BETWEEN…AND…:用于測試是否在范圍內(nèi) [NOT] IN (…):用于測試是否在列表中 [NOT] LIKE:用于進(jìn)行模式匹配 IS [NOT] NULL:用于測試是否為空值 ANY SOME:同列表或查詢中的每一個值進(jìn)行比較,測試是否有一個滿足,前面必須使用的運算符包括=、!=、>=、<=、>、<等 ALL:同列表或查詢中的每一個值進(jìn)行比較,測試是否所有的值都滿足,前面必須使用的運算符包括=、!=、>=、<=、>、<等 [NOT] EXISTS:測試是否子查詢至少返回一行
IN的用法 使用以下運算形式,可以顯示值滿足特定集合的結(jié)果: [NOT] IN (...) 顯示職務(wù)為“SALESMAN',“CLERK”和“MANAGER”的雇員信息。 輸入并執(zhí)行查詢: Sql代碼
  • SELECT * FROM emp WHERE job IN ('SALESMAN','CLERK','MANAGER');?
  • SELECT * FROM emp WHERE job IN ('SALESMAN','CLERK','MANAGER'); 執(zhí)行結(jié)果從略。 注意:如果在IN前面增加NOT,將顯示職務(wù)不在集合列表中的雇員。以上用法同樣適用于數(shù)值型集合,
    多行子查詢 如果子查詢返回多行的結(jié)果,則我們稱它為多行子查詢。多行子查詢要使用不同的比較運算符號,它們是IN、ANY和ALL。 查詢工資低于任何一個“CLERK”的工資的雇員信息。 執(zhí)行以下查詢: Sql代碼
  • SELECT? empno, ename, job,sal FROM emp?
  • ??????? WHERE?? sal < ANY (SELECT sal FROM emp WHERE job = 'CLERK')?
  • ??????? AND job <> 'CLERK';?
  • SELECT empno, ename, job,sal FROM empWHERE sal < ANY (SELECT sal FROM emp WHERE job = 'CLERK')AND job <> 'CLERK'; 執(zhí)行結(jié)果為: ???? Sql代碼
  • EMPNO ENAME????? JOB????????????? SAL?
  • ??????? ------------------- ------------ ----------------- ---------------------?
  • ???????????? 7521 WARD?????? SALESMAN???????? 1250?
  • ??????????? 7654 MARTIN???? SALESMAN???????? 1250?
  • EMPNO ENAME JOB SAL------------------- ------------ ----------------- ---------------------7521 WARD SALESMAN 12507654 MARTIN SALESMAN 1250 說明:在emp表的雇員中有4個職務(wù)為“CLERK”,他們的工資分別是800、1100、950、1300。滿足工資小于任何一個“CLERK”的工資的記錄有2個,在這里使用了ANY運算符表示小于子查詢中的任何一個工資。 注意:條件job <> 'CLERK'排除了職務(wù)是CLERK的雇員本身。 查詢工資比所有的“SALESMAN”都高的雇員的編號、名字和工資。 執(zhí)行以下查詢: Sql代碼
  • SELECT? empno, ename,sal FROM emp?
  • ??????? WHERE sal > ALL(SELECT sal FROM emp WHERE job= 'SALESMAN');?
  • SELECT empno, ename,sal FROM empWHERE sal > ALL(SELECT sal FROM emp WHERE job= 'SALESMAN'); 執(zhí)行結(jié)果為: ?? Sql代碼
  • EMPNO ENAME???????????? SAL?
  • ??? ---------------- ------------- -----------------------?
  • ????? 7566 JONES?????????????? 2975?
  • ????? 7698 BLAKE?????????????? 2850?
  • ????? 7782 CLARK?????????????? 2450?
  • ????? 7788 SCOTT?????????????? 3000?
  • ????? 7839 KING??????????????? 5000?
  • ????? 7902 FORD??????????????? 3000?
  • EMPNO ENAME SAL---------------- ------------- -----------------------7566 JONES 29757698 BLAKE 28507782 CLARK 24507788 SCOTT 30007839 KING 50007902 FORD 3000 ??? 說明:在emp表的雇員中有4個職務(wù)為“SALESMAN”,他們的工資分別是1600、1250、1250、1500。在這里使用了ALL運算符,表示大于查詢中所有的工資。 查詢部門20中職務(wù)同部門10的雇員一樣的雇員信息。 執(zhí)行以下查詢: Sql代碼
  • SELECT? empno, ename, job FROM emp?
  • WHERE?? job IN (SELECT job FROM emp WHERE deptno=10)?
  • AND deptno =20;?
  • SELECT empno, ename, job FROM emp WHERE job IN (SELECT job FROM emp WHERE deptno=10) AND deptno =20; 執(zhí)行結(jié)果為: ?? Sql代碼
  • EMPNO ENAME????????? JOB?
  • ??? ------------------ -------------- ----------------------?
  • ????? 7369 SMITH??????? CLERK?
  • ????? 7876 ADAMS??????? CLERK?
  • ????? 7566 JONES??????? MANAGER?
  • EMPNO ENAME JOB------------------ -------------- ----------------------7369 SMITH CLERK7876 ADAMS CLERK7566 JONES MANAGER 說明:在該訓(xùn)練中,使用IN運算符表示職務(wù)是子查詢結(jié)果中的任何一個。部門10中有3種職務(wù):MANAGER、PRESIDENT和CLERK,以上查詢得到的是部門20中是這3種職務(wù)的雇員。
    多列子查詢 如果子查詢返回多列,則對應(yīng)的比較條件中也應(yīng)該出現(xiàn)多列,這種查詢稱為多列子查詢。以下是多列子查詢的訓(xùn)練實例。 查詢職務(wù)和部門與SCOTT相同的雇員的信息。 執(zhí)行以下查詢: Sql代碼
  • SELECT? empno, ename, sal FROM emp?
  • ??????? WHERE (job,deptno) =(SELECT job,deptno FROM emp WHERE empno=7788);?
  • SELECT empno, ename, sal FROM empWHERE (job,deptno) =(SELECT job,deptno FROM emp WHERE empno=7788); 執(zhí)行結(jié)果為: ???? Sql代碼
  • EMPNO ENAME????? JOB?
  • ??????? ------------------ --------------- ----------------?
  • ??????????? 7902 FORD??????? ANALYST?
  • EMPNO ENAME JOB------------------ --------------- ----------------7902 FORD ANALYST 說明:在該例的子查詢中返回兩列,查詢條件中也要出現(xiàn)兩列,表示雇員的職務(wù)和部門應(yīng)該和SCOTT的職務(wù)和部門相同。
    LIKE的用法 使用LIKE操作符可完成按通配符查找字符串的查詢操作,該操作符適合于對數(shù)據(jù)進(jìn)行模糊查詢。其語句法為: [NOT] LIKE 匹配模式 匹配模式中除了可以包含固定的字符之外,還可以包含以下的通配符: %:代表0個或多個任意字符。 _ :代表一個任意字符。 顯示姓名以“S”開頭的雇員信息。 輸入并執(zhí)行查詢: Sql代碼
  • SELECT * FROM emp WHERE ename LIKE'S%';?
  • SELECT * FROM emp WHERE ename LIKE 'S%'; 執(zhí)行結(jié)果為: Sql代碼
  • EMPNO ENAME???? JOB???????????? MGR HIREDATE???? SAL?? COMM???? DEPTNO?
  • ??????? ------------- -------------- ------------------------- ---------- ------------------ ----------- ------------ ------------------?
  • 7369 SMITH??? CLERK 7902 17-12月-80?????? 800???? 20?
  • 7788 SCOTT??? ANALYST?? 7566 19-4月 -87?? 3000?????????? 20?
  • EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO------------- -------------- ------------------------- ---------- ------------------ ----------- ------------ ------------------ 7369 SMITH CLERK 7902 17-12月-80 800 20 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 說明:SMITH和SCOTT名字均以S開頭,名字后邊的字符和長度任意。 顯示姓名第二個字符為“A”的雇員信息。 執(zhí)行查詢: Sql代碼
  • SELECT * FROM emp WHERE ename LIKE'_A%';?
  • SELECT * FROM emp WHERE ename LIKE '_A%'; 說明:“_”代表第一個字符任意,第二個字符必須為“A”,“%”代表第二個字符后面的字符為任意字符,個數(shù)任意。
    判斷空值NULL 在表中,字段值可以是空,表示該字段沒有內(nèi)容。如果不填寫,或設(shè)置為空則我們說該字段的內(nèi)容為NULL。NULL沒有數(shù)據(jù)類型,也沒有具體的值,但是使用特定運算可以判斷出來。這個運算就是: IS? [NOT] NULL 顯示經(jīng)理編號沒有填寫的雇員。 輸入并執(zhí)行查詢: Sql代碼
  • SELECT? ename, mgr FROM emp WHERE mgr ISNULL;?
  • SELECT ename, mgr FROM emp WHERE mgr IS NULL; 執(zhí)行結(jié)果為: Sql代碼
  • ENAME???? MGR?
  • ??????? ------------ ---------------?
  • ??????? KING?
  • ENAME MGR------------ ---------------KING 注意:以下用法是錯誤的。 SELECT? ename, mgr FROM emp WHERE mgr=NULL;

    轉(zhuǎn)載于:https://www.cnblogs.com/caohs/archive/2013/04/22/3036657.html

    總結(jié)

    以上是生活随笔為你收集整理的oracle 条件查询,比较运算符,逻辑运算符,特殊运算符,判断空值,大小写敏感,多行,多列子查询...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。