溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Oracle從入門到精通 關(guān)于簡(jiǎn)單查詢的問(wèn)題

發(fā)布時(shí)間:2020-06-27 17:48:04 來(lái)源:網(wǎng)絡(luò) 閱讀:428 作者:IT陽(yáng)光羅諾 欄目:關(guān)系型數(shù)據(jù)庫(kù)

視頻課程:李興華 Oracle從入門到精通視頻課程

學(xué)習(xí)者:陽(yáng)光羅諾

視頻來(lái)源:51CTO學(xué)院

如果要進(jìn)行查詢,肯定使用的時(shí)DML中的查詢部分支持,相對(duì)于簡(jiǎn)單查詢而言,通俗的理解,就是全部記錄都查詢,但是可以通過(guò)語(yǔ)法控制列的顯示與否。
簡(jiǎn)單查詢的SQL語(yǔ)法結(jié)構(gòu)如下所示:

    ②SELECT [DISTINCT] * |列[別名],別[別名],…….①FROM 表名稱[別名];

兩者在執(zhí)行的順序上是先從①開(kāi)始執(zhí)行,然后再去執(zhí)行②

舉例:如果再select子句之中使用了“*”表示的是查詢一張表中的所有數(shù)據(jù)列。

范例:查詢emp表中的全部記錄

    SELECT * FROM emp;

在本程序中,from子句是確定數(shù)據(jù)來(lái)源,來(lái)源只要是表結(jié)構(gòu)(行與列的集合),而select子句控制的是所需要的數(shù)據(jù)列。

范例:進(jìn)行數(shù)據(jù)的投影————控制所需要顯示的數(shù)據(jù)列。
查詢每個(gè)員工的編號(hào)、姓名、基本工資

語(yǔ)法格式:

        SELECT empno,ename,sal,job FROM emp;

Oracle從入門到精通 關(guān)于簡(jiǎn)單查詢的問(wèn)題

除了進(jìn)行基本的查詢列之外,在簡(jiǎn)單查詢之中也支持四則運(yùn)算,并且可以直接使用列的內(nèi)容進(jìn)行四則運(yùn)算。

要求查詢出每一個(gè)雇員的編號(hào)、姓名、基本年薪(月工資sal,年薪*12);

語(yǔ)法格式:

        SELECT empno,ename,sal*12  FROM emp;

發(fā)現(xiàn)此時(shí)部分的列表名稱不好看,為了達(dá)到美觀效果,可以進(jìn)行別名的設(shè)置。
我們可以這樣子去寫。但是在一般情況下,都不建議使用中文。

    SELECT empno 員工編號(hào),ename員工姓名,sal*12 年薪 FROM emp;

實(shí)際上在以后定義的數(shù)據(jù)表名稱或者是列名稱的時(shí)候中文也支持,但是你想讓你開(kāi)發(fā)正常點(diǎn),盡量都去使用英文。
Oracle從入門到精通 關(guān)于簡(jiǎn)單查詢的問(wèn)題
實(shí)際上在進(jìn)行簡(jiǎn)單查詢的過(guò)程之中,還支持?jǐn)?shù)據(jù)的連接操作,使用“||”進(jìn)行連接。

范例:觀察連接。

    SELECT empno || ename FROM emp;

結(jié)果圖如下:
Oracle從入門到精通 關(guān)于簡(jiǎn)單查詢的問(wèn)題
相信這個(gè)結(jié)果圖,很多人看了肯定是這是什么玩意?為了使得這個(gè)連接效果變得更好看一點(diǎn)。我們可以在中間使用一些文字描述。
例如:現(xiàn)在希望最終的格式是:“編號(hào):XXX,姓名:XXX”,對(duì)于我們的編號(hào)和姓名都是通過(guò)數(shù)據(jù)表的查詢出來(lái)的數(shù)據(jù)列。針對(duì)于一些固定輸出的內(nèi)容就必須進(jìn)行處理,對(duì)于此部分的處理暫時(shí)只考慮使用兩種類型的數(shù)據(jù):

    普通數(shù)字:那么直接編寫。(SELECT ename || 1 FROM emp;)

Oracle從入門到精通 關(guān)于簡(jiǎn)單查詢的問(wèn)題
字符串:使用單引號(hào)說(shuō)明。(SELECT empno || ‘hello’ FROM emp;)
Oracle從入門到精通 關(guān)于簡(jiǎn)單查詢的問(wèn)題
范例:實(shí)現(xiàn)格式化輸出
語(yǔ)法格式:

        SELECT ‘編號(hào):’ || empno || ‘姓名:’ename FROM emp;

Oracle從入門到精通 關(guān)于簡(jiǎn)單查詢的問(wèn)題

在簡(jiǎn)單查詢中,有一個(gè)DISTINCT關(guān)鍵字,此關(guān)鍵字的主要目的是消除重復(fù)內(nèi)容。

范例:查詢所有雇員的職位信息。
Oracle從入門到精通 關(guān)于簡(jiǎn)單查詢的問(wèn)題
在圖中,我們會(huì)發(fā)現(xiàn),又很很多人一起辦公,那么現(xiàn)在如果不希望在里面出現(xiàn)重復(fù)的內(nèi)容,那么就可以在SELECT子句中使用DISTINCT來(lái)消除重復(fù)的內(nèi)容。
語(yǔ)法格式:

    SELECT DISTINCT Job FROM emp;

結(jié)果如圖:
Oracle從入門到精通 關(guān)于簡(jiǎn)單查詢的問(wèn)題
注意:如果消除重復(fù)內(nèi)容,指的是查詢出來(lái)的數(shù)據(jù)所有列的內(nèi)容都重復(fù)查詢的結(jié)果。

范例:觀察如下查詢的結(jié)果

    SELECT DISTINCT ename,Job FROM emp;

結(jié)果如下:
Oracle從入門到精通 關(guān)于簡(jiǎn)單查詢的問(wèn)題
相信你會(huì)看到又是出現(xiàn)14行的數(shù)據(jù)內(nèi)容。此時(shí)
因?yàn)樾彰吐毼粵](méi)有同時(shí)重復(fù)的內(nèi)容,那么將無(wú)法刪除掉那些重復(fù)的內(nèi)容。

總結(jié):簡(jiǎn)單查詢的最大特征在于:控制數(shù)據(jù)列,但是它無(wú)法進(jìn)行數(shù)據(jù)列的控制。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI