java學習(2)--oracle

1.查詢語句中使用函數sql

  1)數字函數ide

  round() 用於數字的四捨五入函數

  trunc() 用於截取spa

  2)日期函數 sysdate排序

  select sysdate from dual;--dual爲虛表字符串

2.日期函數相減it

  計算員工入職多少天table

  select hiredate,name,(sysdate-hiredate) days from emp_xxx;class

  計算員工入職多少個月date

  select hiredate,name,months_between(sysdate,hiredate) months from emp_xxx;

3.轉換函數

  to_char(日期數據,格式)把日期數據轉換爲字符數據

  select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')from dual;

  sqlplus中日期的默認格式是:DD-MON-RR

  to_date 將字符串數據按指定格式轉換爲日期數據

4.查詢結果排序 order by 

5.數據字典 user_tables

  當前帳戶下有多少個表

  select count(*) from user_tables;

6.組函數count() avg() sum() max() min() 

  與單行函數如round() to_date() to_char() 等不一樣,單行函數是每行數據返回一個結果

  ,組函數是多行數據返回一行結果。

7.分組查詢 group by 列名:表示按指定列分組查詢

  select 後出現的列,凡是沒有被組函數包圍的列,必須出如今group by 短語中

  按職位分組,每一個職位的最高,最低薪水和人數?

  select job,max(salary)max_s,

             min(salary)min_s,

             count(*) emp_num from emp_xxx group by job order by emp_num;

having子句

 用於對分組後的數據進行過濾。

 注意區別where是對錶中數據的過濾;having 是對分組獲得的結果數據進一步過濾

平均薪水大於5000元的部門數據,沒有部門的不算在內

select deptno,avg(nvl(salary,0)) avg_s from emp_xxx

where deptno is not null

group by deptno

having avg_s > 5000;

相關文章
相關標籤/搜索