Oracle的select使用


1.select :

   語法:

select [distinct] {*,column [alias],...}

from table

 

注:[]括起來的內容代表可有可無

     * 代表所有列

    distinct關鍵字只能跟在select關鍵字之后

 

  select 子句后邊指定要查詢的列

  from    子句后邊跟要查詢的表

 

My name is first_name.last_name;

2.select語句可以對指定的列的所有值進行算術運算。

語法:

select col_name 運算符 數字

from tb_name;

 

注意:select語句永遠不對原始數據進行修改。

 

3.給查詢的列區別名

語法:

select old_column [as] new_column_name

from tb_name;

 

 

4.使用||可以使得多列的值或者列和特殊的字符串合並到一個列進行顯示

語法:

select col_name||'spe_char'||col_name

from tb_name

'spe_char':如果一個列的值要跟特殊的字符串連接顯示,使用該語法。

 

5.null值得替換運算

語法:

select nvl(col_name,change_value)

from tb_name;

 

nvl2(col_name,不為空顯示的值,為空顯示的值);

6.使用distinct關鍵詞,可以將顯示中重復的記錄只顯示一條

語法:

select distinct col_name,col_name...

from tb_name;

 

注意1distinct關鍵詞只能放在select關鍵詞后面

如:select id,distinct title

    from s_emp;

該語句語法錯!!!!!

注意2:如果distinct關鍵詞后面如果出現多列,表示多列聯合去重,即多列的值都相同的時候才會認為是重復的記錄

test表:

id id2

1 2

1 3

2 4

3 4

3 4

select distinct id,id2

from test;

顯示結果為:

id id2

1 2

1 3

2 4

3 4

7.sqlplus命令

a:在當前操作的命令行追加內容

a test

c: 在當前操作的命令行修改內容

c/old_char/new_char

clear buffer:清空當前緩存的命令

del:刪除當前操作行

del line_num指定刪除第幾行

i:當前操作命令行的下一行插入內容

l:查看緩存命令

l line_num:查看指定的命令行

n text:替換第n行的整行內容

!:后面接終端命令 ------linux環境下

!clear:清屏 ///

$:后接終端命令

$cls ---------> windows環境下

/:執行緩存sql命令

 

save file_name:將緩存命令保存到file_name(append replace)

get file_name:將文件中的內容提取到sqlplus

start @ file_name:執行文件中的sql命令

edit file_name:使用終端設置好的vi編輯器編輯文件(對於windows使用的是notepad)

spool file_name   將接下來的sql語句以及sql的運行結果保存到文件中(append)

sql1

result1

sql2

result2

...

spool off  關閉spool功能

exit:退出

 

8.select id,last_name,first_name, salary, dept_id

  from s_emp;

 

  結果不好看,通過column使我們的顯示界面好看。

 

colu last_name format a15;

colu first_name format a15;

 

Column 有沒有改變數據表里數據啊,沒有,它只是改變顯示。它是不是SQL命令呢? 不是,它是sqlplus命令。除了剛才這個作用之外,

我們下面來看看它還有什么作用。

 

COLUMN last_name HEADING 'Employee|Name' FORMAT A15

. last_name取別名為Employee|Name , 豎杠代表換行。

. A15表示十五個字節長,一短橫杠就是一個字節長

 

COLUMN salary JUSTIFY LEFT FORMAT $99,990.00

. salary JUSTIFY LEFT : 僅僅改變列名顯示為左齊

. FORMAT $99,990.00: 控制顯示格式為前面加 $ , “,”為分隔符, 09代表數字(通配符)0表示替換對齊數值,位數不足會補足,可以混合使用.

 

COLUMN start_date FORMAT A8 NULL 'Not hired'

. 如果start_date值為空的話,顯示為’Not hired;

. Format后不能直接跟null, 要先a8a10;

. NULL 'Not hired'nvl有點不同, nvl要求類型匹配

 

column 顯示所有對列格式的設置情況

column last_name 顯示對last_name列顯示設置的情況

column last_name clear 刪除對last_name列格式設置的情況

Clear column 清除所有column的格式設置

 

Column某列的格式設置,這里的列並不特定於某個表.

 

ex:

1234   column 99.99  -- > ###### //出錯的時候不能顯示,只是顯示####

column columName 顯示對列的限制


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM