ORALCE的SQL語句整理

2021-07-16 16:23:01 字數 2091 閱讀 3186

--asc  按公升序排列

select t.amount,rownum from t_student  t order by t.times asc

--desc  按降序排列

select t.amount,rownum from t_student  t order by t.times desc  

--類似

select * from t_student  where username like '三%'

--選擇多個條件的資料

select * from t_student  where username in('張三','張三9')

--選擇多個條件的資料

select * from t_student  where username in(select username from sixgod)

--是空判斷

select * from t_student  where age is null

--非空判斷

select * from t_student  where age is not null

--select的查詢語句可支援多層

select * from t_student  where (select age from t_student  where age=78)=age

--複製表的結構及資料

create  table sixgod2 as select * from sixgod

--distinst rows   兩個表的資料記錄全部合併顯示但是去除重複資料

select t.username, t.age from sixgod2 t

union

select t.username, t.age from sixgod2 t

--all rows  兩個表的資料記錄全部合併顯示

select t.username, t.age from sixgod2 t

union all

select t.username, t.age from sixgod2 t

-- left join  inner join right join   左聯結  內聯結  右聯結  

-- left join (左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄 

-- right join (右聯接) 返回包括右表中的所有記錄和左表中聯結字段相等的記錄

-- inner join (等值連線) 只返回兩個表中聯結字段相等的行

select t.name,d.pro_name,d.price from users t inner join t_order d on d.username_id = t.name

select t.name,d.pro_name,d.price from users t,t_order d

where d.username_id(+) = t.name

--分頁

select * from ( select a.*, rownum rn from (select * from sixgod2) a where rownum <= 40 ) where rn >= 1

--分頁第二個方式,可以使用between and的方式做分頁

select * from ( select a.*, rownum rn 

from (select * from sixgod2) a ) where rn between 2 and 4

--條件取值decode,類似if else,後面可以寫多個else

select decode(t.age,78,'張三78',26,'張三26',t.username), t.age from sixgod2 t

--條件取值case when,類似if else

select case t.age when 78 then '張三78' end from sixgod2 t

--生成隨機值

select sys_guid() from  dual

--判斷是否為空,如果為空就顯示第二個引數

select nvl (t.username_id, ' is null ') from t_order t

sql語句整理

建立表 create table teacher id int 11 not null auto increment,teaname varchar 10 not null,varchar 10 not null,course varchar 10 not null,primary key id e...

sql語句整理

mysql 命令大全 1 修改主鍵id的遞增預設值 alter table tablename auto increment 100000 2 將表重新命名 alter table oldtablename rename to newtablename 3 為表新增新的字段 alter table ...

常用sql語句整理

a 判斷資料庫是否存在 if exists select from sys.databases where name 庫名 刪除資料庫 drop database 庫名b 判斷要建立的表名是否存在 if exists select from dbo.sysobjects where id objec...