1. 程式人生 > >mysql中的單行函式和多行函式(講義)

mysql中的單行函式和多行函式(講義)

--查詢工作為SALESMAN,MANAGER並且工資大於2500的員工資訊
  --and關鍵字的執行級別高於or
  --可以使用小括號提升條件的執行級別,使用了小括號的級別是最高的
select * from emp where (job='SALESMAN' or job='MANAGER') and sal>2500
----------------------------------------------------------------------------
--Oracle函式學習(單行函式,多行函式,轉換函式,其他函式)
   --單行函式學習(字元函式,數值函式,日期函式)
       --特點1:不改變真實資料,只是對資料做了進一步修飾或者處理顯示。
      --特點2:可以和欄位混合使用
      --使用:select 欄位名, 函式名(欄位名),欄位名....from 表名
      --字元函式:
          --查詢所有的員工資訊,員工姓名小寫顯示。
          select empno,ename,lower(ename),job,mgr,sal,lower('HH') from emp
         --查詢所有的員工資訊,員工姓名首字母大寫。
         select empno,INITCAP(ename) 首字母大寫的姓名,lower(ename),job from emp
      --數值函式:對數值型別的資料進行運算
           --偽表:真實存在的表,是為了方便進行資料的驗證而臨時存在的表。表名為:dual
          select abs(-1),ceil(2.2),floor(3.3),power(2,3),mod(5,2),round(4.55),trunc(10/3,2) from dual
      --日期函式:
          select months_between('01-1月-2018','24-6月-2017') from dual --返回兩個日期間的月份數  
          select add_months('01-4月-2018',-4) from dual --返回指定月數後的日期
          select next_day('16-4月-2018','星期二') from dual--查詢最近的星期的日期
          select last_day('16-4月-2018') from dual--返回當月的最後一天的日期
          select round(to_date('19-4月-2018'),'DAY') from dual--按照星期進行四捨五入
   --多行函式(max,min,avg,sum,count)很重要
      --作用:對查詢的資料進行統計
      --使用:select 多行函式名(欄位名),多行函式名(欄位名)..from 表名
          --注意:多行函式不能和普通欄位以及單行函式混用,除非分組
      --max(欄位名) 返回該欄位的最大值
      --min(欄位名) 返回該欄位的最小值
      --sum(欄位名) 返回該欄位的和
      --avg(欄位名) 返回該欄位的平均值
      --count
              --count(*) 返回表的記錄數
              --count(欄位名) 返回非空值的數量
              --count(distinct 欄位名) 去除重複後的欄位值的數量
      --檢視員工的最高工資
      select max(sal) from emp--多行函式不能和欄位直接混用,除非分組。
      select lower(ename),max(sal) from emp--多行函式 不能和單行函式混用,除非分組
      --檢視員工的最低工資
      select min(sal) from emp
      --檢視員工的平均工資
      select avg(sal) from emp
      --檢視所有的員工工資之和
      select sum(sal) from emp
      --查詢公司有多少員工
      select count(*) from emp--查詢表的記錄數
      --查詢有津貼的員工人數
      select count(comm) from emp--查詢欄位的值的數量,null會自動過濾
      --查詢公司有多少工作種類     
      select distinct job from emp
      select count(distinct job) from emp
      select count(*),sum(sal),avg(sal),max(sal),min(sal) from emp 
      select * from emp