Oracle從入門到精通 關於簡單查詢的問題

來源:互聯網
上載者:User

標籤:rac   oracl   表結構   運算   直接   格式   ffffff   text   格式化輸出   

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

學習者:陽光羅諾

視頻來源:51CTO學院

如果要進行查詢,肯定使用的時DML中的查詢部分支援,相對於簡單查詢而言,通俗的理解,就是全部記錄都查詢,但是可以通過文法控制列的顯示與否。簡單查詢的SQL文法結構如下所示:        ②SELECT [DISTINCT] * |列[別名],別[別名],…….①FROM 表名稱[別名];兩者在執行的順序上是先從①開始執行,然後再去執行②舉例:如果再select子句之中使用了“*”表示的是查詢一張表中的所有資料列。範例:查詢emp表中的全部記錄        SELECT * FROM emp;在本程式中,from子句是確定資料來源,來源只要是表結構(行與列的集合),而select子句控制的是所需要的資料列。範例:進行資料的投影————控制所需要顯示的資料列。    查詢每個員工的編號、姓名、基本工資文法格式:            SELECT empno,ename,sal,job FROM emp; ![](http://i2.51cto.com/images/blog/201807/03/7d3aff027d278824f6971af6d095430e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)除了進行基本的查詢列之外,在簡單查詢之中也支援四則運算,並且可以直接使用列的內容進行四則運算。要求查詢出每一個僱員的編號、姓名、基本年薪(月工資sal,年薪*12);文法格式:            SELECT empno,ename,sal*12  FROM emp;發現此時部分的列表名稱不好看,為了達到美觀效果,可以進行別名的設定。我們可以這樣子去寫。但是在一般情況下,**都不建議使用中文。**        SELECT empno 員工編號,ename員工姓名,sal*12 年薪 FROM emp;實際上在以後定義的資料表名稱或者是列名稱的時候中文也支援,但是你想讓你開發正常點,盡量都去使用英文。![](http://i2.51cto.com/images/blog/201807/03/2dd48cf236d99667b03a64f51166baf8.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)實際上在進行簡單查詢的過程之中,還支援資料的串連操作,使用“||”進行串連。範例:觀察串連。        SELECT empno || ename FROM emp;結果圖如下: ![](http://i2.51cto.com/images/blog/201807/03/5cb68e816646d0fe52fd0f801e8b7acb.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)相信這個結果圖,很多人看了肯定是這是什麼玩意?為了使得這個串連效果變得更好看一點。我們可以在中間使用一些文字描述。例如:現在希望最終的格式是:“編號:XXX,姓名:XXX”,對於我們的編號和姓名都是通過資料表的查詢出來的資料列。針對於一些固定輸出的內容就必須進行處理,對於此部分的處理暫時只考慮使用兩種類型的資料:        普通數字:那麼直接編寫。(SELECT ename || 1 FROM emp;) ![](http://i2.51cto.com/images/blog/201807/03/bfbf86d4ede2f505c969fa6766eedbd5.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)        字串:使用單引號說明。(SELECT empno || ‘hello’ FROM emp;) ![](http://i2.51cto.com/images/blog/201807/03/c772c508f582a3ca36af5fca06443813.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)範例:實現格式化輸出文法格式:            SELECT ‘編號:’ || empno || ‘姓名:’ename FROM emp; ![](http://i2.51cto.com/images/blog/201807/03/f62be5d5b627d609023d607cf58a7f4b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)在簡單查詢中,有一個DISTINCT關鍵字,此關鍵字的主要目的是消除重複內容。範例:查詢所有僱員的職位資訊。 ![](http://i2.51cto.com/images/blog/201807/03/0c3c32fbe18d0dab3f74c70fcf61142a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)在圖中,我們會發現,又很很多人一起辦公,那麼現在如果不希望在裡面出現重複的內容,那麼就可以在SELECT子句中使用DISTINCT來消除重複的內容。文法格式:        SELECT DISTINCT Job FROM emp;結果 ![](http://i2.51cto.com/images/blog/201807/03/a0ff2028b3eacb77050ccc13e91f3c5f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)注意:如果消除重複內容,指的是查詢出來的資料所有列的內容都重複查詢的結果。範例:觀察如下查詢的結果        SELECT DISTINCT ename,Job FROM emp;結果如下: ![](http://i2.51cto.com/images/blog/201807/03/cdb6a7c0e4a41d3525bbb9ddefb57e3e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)相信你會看到又是出現14行的資料內容。此時因為姓名和職位沒有同時重複的內容,那麼將無法刪除掉那些重複的內容。**總結:簡單查詢的最大特徵在於:控制資料列,但是它無法進行資料列的控制。**

Oracle從入門到精通 關於簡單查詢的問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.