寫死資料集
select
'資料1' 列名1
,'資料2' 列名2..
.from dual
進行資料庫統計當group by 不能統計多條語句時,使用select
sum(decode(t.dbly,
'181',1
,0)) 限時督查 from case_jbdb t
with name as()
相當於把後面select的結果集賦予前面的值
with h as
(select....)
oracle中的(+)
就是連線譬如select a., b. from a(+) = b就是乙個右連線,等同於select a., b. from a right join b
select a., b. from a = b(+)就是乙個左連線,等同於select a., b. from a left join b
即" (+)"所在位置的另一側為連線的方向,通常將全量集合與部分集合連線時,在部分集合的列後面帶上(+),以達到沒有匹配時,也要顯示出乙個null的效果
distinct 去重
select distinct 列名from 表名
limit
limit是mysql的語法
select * from table limit m,n
其中m是指記錄開始的index,從0開始,表示第一條記錄
n是指從第m+1條開始,取n條。
select * from tablename limit 2,4
即取出第3條至第6條,4條記錄
selectkey
可以用來返回插入的值的主鍵,並存入類的值 resultclass 的值是返回主鍵的型別 keypropety的值是主鍵所在類的名稱,值可以用select 語句查詢出來,
"string" keyproperty=
"caseid"
>
select
'xc'
||lpad(aj_xc_sequence.nextval,8,
'0')
as caseid from dual
<
/selectkey>
序列 sequence
oracle 主鍵不能自增 使用序列來設定主鍵 序列在sequence資料夾右鍵新建生成
字元連線符 ||
條件限定
between and
select
*from hr.employees where salary between
3000
and5000
查詢工資在3000到5000之間的
閉區間,即取得到3000
in
select
*from hr.employees where salary in
(3000
,6000
)
即薪水要麼等於3000要麼等於6000
like
like用於進行模糊查詢
select
*from hr.employees where first_name like
'%a_'
名字裡倒數第二個字母是a的員工
%表示任意匹配,有或者沒有都可以
_表示有,並且只有乙個
is null
select
*from hr.employees where department_id is
null
sql語言中屬性列為空,只有「is null」這種表達方式。沒有「=null」、=" "這幾種表達方式
排序通過order by進行排序
asc是正排序
desc是倒排序
取整–1.取整(大)
select ceil(-1.001) value from dual ;
–2.取整(小)
select floor(-1.001) value from dual ;
–3.取整(擷取)
select trunc(-1.002) value from dual ;
–4.取整(捨入)
select round(-1.001) value from dual;
case具有兩種格式。簡單case函式和case搜尋函式。
簡單case函式
case ***
when 『1』 then 『男』
when 『2』 then 『女』
else 『其他』 end
–case搜尋函式
case when *** = 『1』 then 『男』
when *** = 『2』 then 『女』
else 『其他』 end
種方式,可以實現相同的功能。簡單case函式的寫法相對比較簡潔,但是和case搜尋函式相比,功能方面會有些限制,比如寫判斷式。還有乙個需要注意的問題,case函式只返回第乙個符合條件的值,剩下的case部分將會被自動忽略。
–比如說,下面這段sql,你永遠無法得到「第二類」這個結果
case when col_1 in ( 『a』, 『b』) then 『第一類』
when col_1 in (『a』) then 『第二類』
else』其他』 end
decode(條件,值1,返回值1,值2,返回值2,…值n,返回值n,預設值)
lpad函式將左邊的字串填充一些特定的字元其語法格式如下:lpad(string,n,[pad_string])
string 字元或者引數
n字元的長度,是返回的字串的數量,如果這個數量比原字串的長度要短,lpad函式將會把字串擷取成從左到右的n個字元;
pad_string可選引數,這個字串是要貼上到string的左邊,若這個引數未寫,lpad函式將會在string的左邊貼上空格。
lpad(『tech』, 7); 將返回』 tech』
lpad(『tech』, 2); 將返回』te』
lpad(『tech』, 8, 『0』); 將返回』0000tech』
lpad(『tech on the net』, 15, 『z』); 將返回』tech on the net』
lpad(『tech on the net』, 16, 『z』); 將返回』ztech on the net
資料庫常用語句
列出所有資料庫資訊 show databases 轉到某個資料庫 use database name 列出某個資料庫的所有表資訊 show tables 建立資料庫 create database database name 建立資料庫表 create table mytable name varc...
資料庫常用語句
1 說明 建立資料庫 create database database name 2 說明 刪除資料庫 drop database dbname 4 說明 建立新錶 create table tabname col1 type1 not null primary key col2 type2 not...
資料庫常用語句
查詢資料庫中有標識列的表 declare tablename varchar 500 result int set tablename set result 0 declare my cursor cursor for select distinct o.name from sysobjects o...