乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      oracle限定條件查詢,循序漸進(jìn)學(xué)Oracle之限定查詢

       厚怡 2022-03-30

      在之前的簡(jiǎn)單查詢之中,是將所有記錄進(jìn)行顯示,但是現(xiàn)在可以對(duì)顯示的記錄進(jìn)行過濾的操作,而這就屬于查詢的工作了,限定查詢就是在之前語法的基礎(chǔ)上增加了一個(gè)WHERE子句,用于指定限定條件 ,此時(shí)語法如下:SELECT [DISTINCT] *|字段 [別名] [字段] [別名]

      FROM 表名稱 [別名]

      [WHERE 條件]

      在WHERE子句之后可以增加多個(gè)條件,最常見的條件就是基本的關(guān)系運(yùn)算:>、>=、

      1、關(guān)系運(yùn)算SELECT * FROM emp having sal >1500 ;

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

      e29844354fc946de848e6910df728266.png

      附:如何縮小列距?col 字段名 format a10

      范例2:查詢出所有職位是辦事員的雇員信息SELECT * FROM emp WHERE job='CLERK' ; //clerk必須大寫!

      a0ab9e88edd660f849f93fb80a2cdda6.png

      多個(gè)條件,而多條件之間可以使用AND或OR進(jìn)行連接操作。

      范例3:查詢工資在1500-3000之間的全部雇員信息。SELECT * FROM emp WHERE sal>=1500 AND sal<=3000 ;

      d791bdb830784184641c248183f9ec7b.png

      方法2:利用BETWEEN …AND…語句查詢工資在1500-3000之間的全部雇員信息。SELECT * FROM emp WHERE sal BETWEEN 1500 AND 3000 ;

      a74fe542ddcec3c2d4050438d4c5c064.png

      范例4:查詢出職位是辦事員,或者是銷售人中的全部信息。SELECT * FROM emp WHERE job='CLERK' OR job='SALESMAN' ;

      28df7d4052dc1190ec9f2db93cd32840.png

      范例5:查詢出職位是辦事員,或者是銷售人中的全部信息,并且要求這些雇員的工資大于1200SELECT * FROM emp WHERE (job='CLERK' OR job='SALESMAN') AND sal>1200 ;

      bdcd95aa17de7360d81bb70f9fa31a88.png

      范例6: 查詢不是辦事員的雇員信息。SELECT * FROM emp WHERE job!='CLERK'; //方法1

      SELECT * FROM emp WHERE job<>'CLERK'; //方法2

      SELECT * FROM emp WHERE Not job='CLERK'; //方法3

      378e04d95cf393e6c197ae6e3104f3cb.png

      2、范圍判斷:BETWEEN …AND…

      “BETWEEN 最小值A(chǔ)ND 最大值”,表示的是一個(gè)范圍間的判斷過程。

      范例7:要求查詢出基本工資在1500-3000之間的雇員信息。SELECT * FROM emp WHERE sal BETWEEN 1500 AND 3000 ;

      9604e23b4c6cb61e3920e00e4e257612.png

      e7dc3d06a5d5355b42553d0e38f7964a.png

      范例8:現(xiàn)在對(duì)BETWEEN…AND…操作求反SELECT * FROM emp WHERE NOT sal BETWEEN 1500 AND 3000 ;

      SELECT * FROM emp WHERE NOT (sal BETWEEN 1500 AND 3000) ;

      20d4e1fdf542a0dee60ba6029d56e10c.png

      “BETWEE…AND…”操作符不光針對(duì)數(shù)字有用,對(duì)日期也同樣有用。

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

      * 時(shí)間范圍:1981-01-01 – 1981-12-31,使用hiredate字段表示雇傭日期;

      * hiredate字段上的內(nèi)容可以使用字符串表示:’01-1月-1981’ ~ ’31-12月-81’SELECT * FROM emp WHERE hiredate BETWEEN '1-1月-1981' AND '31-12月-81'; //注意:查詢?nèi)掌诒硎痉ǎ?/p>

      305954a74b8f0b5145112395ad29c7d5.png

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

      使用此語法可以判斷某一個(gè)字段上的內(nèi)容是否為“null”,但是null和數(shù)字0以及空字符串是2個(gè)概念。

      范例10:查詢出所有領(lǐng)取獎(jiǎng)金的雇員信息。SELECT * FROM emp WHERE comm IS NOT NULL ; //方法1

      SELECT * FROM emp WHERE NOT comm IS NULL ; //方法2

      247d53ec0e1af85d936f24a357d49ee9.png

      17b7213d8d5cb3336386ae8a12569718.png

      范例11:查詢出所有不領(lǐng)取獎(jiǎng)金的雇員SELECT * FROM emp WHERE comm IS NULL ;

      670c28b94dad70cc17b40a9d2aa8c760.png

      4、指定范圍的判斷:IN操作符 (重要!)

      IN操作符表示的是指定一個(gè)查詢的范圍,如下所示查詢要求:

      范例12:查詢出雇員編號(hào)是7369、7566、7799的雇員信息

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

      * 如果現(xiàn)在使用了新的操作符IN的話,則代碼簡(jiǎn)單了:SELECT * FROM emp WHERE empno=7369 OR empno=7566 OR empno=7799 ; //方法1

      SELECT * FROM emp WHERE empno IN(7369,7566,7799); //方法2

      2feb5d436a0ad597588f630b5cfbaa19.png

      而如果現(xiàn)在使用的是NOT IN呢?則表示不在指定的范圍之中。SELECT * FROM emp WHERE empno NOT IN(7369,7566,7799) ;

      b77a35829e1b2626a56c71dad3f5d511.png

      注意:關(guān)于NOT NULL的問題!

      * 如果現(xiàn)在使用了IN操作符,查詢的范圍之中存在了null,不影響查詢;SELECT * FROM emp WHERE empno IN(7369,7566,null) ;

      34baae413615108d4ab72ef1e0be93e7.png

      * 如果現(xiàn)在使用了NOT IN操作符,查詢的范圍之中存在了null,則不會(huì)有任何的查詢結(jié)果返回;SELECT * FROM emp WHERE empno NOT IN(7369,7566,null) ;

      6c6180d8d9084f5505b7c1f8941ecb7d.png

      重點(diǎn):對(duì)于這個(gè)限制現(xiàn)在先作為特點(diǎn)記住,以后會(huì)講解為什么NOT IN之中不能出現(xiàn)null,而且記住了

      如果NOT IN中出現(xiàn)了null,則表示的就是查詢?nèi)繑?shù)據(jù)。

      5、模糊查詢: LIKE子句

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

      但是要想使用LIKE子句則必須認(rèn)識(shí)兩個(gè)匹配符號(hào):

      * 匹配單個(gè)字符:_ ; -> 1 個(gè)

      * 匹配任意多個(gè)字符:% ; -> 0個(gè),1個(gè),多個(gè)

      范例13:要求查詢雇員姓名中以字母A開頭的全部雇員信息。SELECT * FROM emp WHERE ename LIKE 'A%' ;

      21cce88aaffb05ab2f8b21fdbc978929.png

      范例14:要求查詢出雇員姓名中第二個(gè)字母是A的全部信息。SELECT * FROM emp WHERE ename LIKE '_A%' ;

      362342c2d4f974aca2a589d38a268a54.png

      范例15:要求查詢出雇員姓名中帶有字母A的雇員信息。SELECT * FROM emp WHERE ename LIKE '%A%' ;

      33054876b10b73473898a09871f2df6d.png

      現(xiàn)在使用NOT操作,對(duì)操作進(jìn)行求反的功能:

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

      714685a99257ae29f8c0a129cb00e8db.png

      但是對(duì)于LIKE子句,不一定只能在字符串?dāng)?shù)據(jù)上表示,可以在任意的數(shù)據(jù)上表示:SELECT * FROM emp WHERE ename LIKE '%1%' OR hiredate LIKE '%1%' OR sal LIKE '%1$';

      d98936ed10359b37f01c8baa12c08821.png

      說明:關(guān)于LIKE子句的使用

      在開發(fā)之中,數(shù)據(jù)庫的模糊查詢肯定使用LIKE子句,但是在使用LIKE子句的時(shí)候有一個(gè)最大的注意點(diǎn):如果在模糊查詢上不設(shè)置任意的查詢關(guān)鍵字的話(如:%%),則表示查詢?nèi)坑涗洠篠ELECT * FROM emp WHERE ename LIKE '%%' OR hiredate LIKE '%%' OR sal LIKE '%%' ;

      681429457222a0082b66aa600d37d585.png

      這一個(gè)特點(diǎn)可以幫助用戶節(jié)約很多代碼,所以一定要記住!

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多