原創著作,產權保護 政府、投票、評選、公安、學校、問卷、視頻會議專注發展中小企事業 系統報價 | 支付帳號 | 授權查證
    計算機著作版權登記號:2014SR032463 手機:+86-1373066-4304 | QQ:1213920482 歡迎選擇智睿軟件系統 歡迎選擇智睿軟件系統
智睿軟件系統
SQl 部分查詢功能語句
來源:智睿 瀏覽:387 次 發布時間:2019-08-25 10:39:59
select distinct 列名1,列名2 from 表名  (distinct 去除重復項) 

select * from 表名 where 列名 between 小值   and 大值(between and 取兩值之間的,前后都包含)

select * from 表名 where in (值1,值2,值3)  (in后面可以跟其他查詢)

select * from 表名 where 列名 in (select 列名 from 表名 where 條件)   (按其他查詢結果作為查詢條件)

select * from 表名 where 列名 like ‘值1%’  (查詢以值1開頭的,%代表其他所有字符)(%+值1,查詢結尾為值1的)

select * from 表名 where 列名 not like ‘值1_’  (查詢開頭不為值1的)(_為單個字符,與%類似)

 

聚合函數  (聚合函數只返回單個值,可以同時查詢多個,用于數值字段,空值不計算)

select count(*) from 表名 where 條件  (count 為查詢的數據有幾行)

select sum(列名) from 表名 where 條件   (sum 求總和)(max 最大值)(min 最小值)(avg 平均數)(空值不計算)

select max(列名),avg(列名) from 表名 where 條件  (同時查詢最大值和平均數)

select * from 表名 where rownum = 1  (rownum 是偽列 意為序列號長度)(不與表綁定)(必須包含第一行)

 

數值函數

select abs(-123) from dual  (abs 絕對值)

select mod(12,5) from dual   (mod 求模)

select ceil(123.45) from dual  (ceil 上限值,大于或等于該值的最小整數)

select floor(123.45) from dual  (floor 下限值,小于或等于該值的最大整數)

select round(123.66) from dual  (round 四舍五入取整數)  select round(123.66,2) from dual  (保留小數點后兩位)

select trunc(123.66) from dual  (trunc 不四舍五入取整)  select trunc(123.66,-1) from dual  (保留到小數點前一位)

 

字符串函數(可以放在where里面使用)(只是修改查詢結果,不會修改源數據)

select length(列) from 表   (length 計算字符串長度)

select trim('   asdf   ')from dual  (trim 去除空格)(ltrim 去除左邊空格)(rtrim 去除右邊空格)

select replace(‘   aaaxbbb   ’,‘x’,‘y’)from dual  (replace 查找替換)(可以把空格換成空字符串)

  select replace(列,‘x’,‘y’)from 表   

select instr(‘asd’,'a')from dual  (查找字符串,返回的是第一個找到的位置索引號)

select substr(‘asdfgh’,2)from dual  (截取字符串,從第2個開始截取后面全部)(不能超過字符串長度)  

  select substr(‘asdfgh’,-2)from dual  (截取字符串,從右側第2個開始截取左邊全部)  

  select substr(‘asdfgh’,2,3)from dual  (截取字符串,從第2個開始截取后面3個字符)(3不能是負數,2同上)

 

替換函數

select nvl(列,默認值)from 表  (nvl 將null 替換為默認值)

  nvl2(列,非空的新值,為空的默認值)  (nvl2 將null 替換為默認值,把非空替換成新值)

select decode (列,‘值1’,‘新值1’ ,‘值2’,‘新值2’……‘剩余所有都改為此值’)from 表  (decode 匹配列的值并替換為新值)

 

特殊隱藏表  

  dual  偽表  系統內置的只有一行一列的數據表,常用來執行函數

    查詢當前時間  select sysdate from dual

    對當前的月份進行加減  add_months(日期,±數值)

    獲取日期所在月份的最后一天  last_day(日期)

  rownum  (數據庫給查詢結果集自動添加的虛擬行號)(可以作為where條件限制查詢結果的行數)(必須包含第一行)(常用于分頁查詢)

  rowid  (數據庫自動管理數據行的唯一標識)(常用于更新數據  如果不使用可以用 select。。。for update代替) 

 

join  多表之間的關聯查詢  

  內連接  select * from 表1,表2 where 表1列 = 表2列

       select * from 表1 join 表2 on 表1列 = 表2列 where條件

       (內連接特點:表1的數據和表2沒有可關聯的數據,那么該條數據會被隱藏  )

  外連接  select * from 表1 lift join 表2 on 表1列 = 表2列 where條件  (lift 左邊的表1全部查詢,包括控制數據)

       select * from 表1 right join 表2 on 表1列 = 表2列 where條件  (right 右邊的表2全查詢,同lift類似)

       select * from 表1 full join 表2 on 表1列 = 表2列 where條件  (左右兩表數據全部查詢,類似左右同步)

轉換函數  to_char(日期型,‘yyyy-mm-dd hh24:mi:ss’)  把其他數據類型轉換成特定格式的字符串(最常用于日期類型)  

      to_date(‘字符串型’,‘yyyy-mm-dd’)  把特定格式字符串類型轉換成日期類型

      cast(源數據as新數據類型)  通用轉換函數,把源數據按新數據類型轉換

      自動轉型  一般是字符串和數值之間,可根據語境自動轉型

 

合并數據

查詢語句1 union all 查詢語句2

查詢語句的字段數量和數據類型必須一致,使用 union 連合起來,默認為去除重復項,可以加all使其不去除重復項

 

子查詢

比較運算  any(返回多個數值類型的子查詢)  (>=子查詢的最小值,<=子查詢的最大值)

        all(返回多個數值類型的子查詢)  (>=子查詢的最大值,<=子查詢的最小值)
【刷新頁面】【加入收藏】【打印此文】 【關閉窗口】
上一篇:智睿學校網站管理系統 V 10.3.6 2019學校網站系統,成績查詢系統,開校有禮 下一篇:SQL中Group By的使用 細則使用說明
海南4十1中奖规则