我的資料庫常用語句

2021-10-01 03:24:49 字數 3313 閱讀 9214

寫死資料集

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...