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;
注意1:distinct關鍵詞只能放在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: 控制顯示格式為前面加 $ 符, “,”為分隔符, 0或9代表數字(通配符),0表示替換對齊數值,位數不足會補足,可以混合使用.
COLUMN start_date FORMAT A8 NULL 'Not hired'
. 如果start_date值為空的話,顯示為’Not hired’;
. Format后不能直接跟null, 要先a8或a10;
. 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 顯示對列的限制
