mysql中的增刪改以及資料備份(講義)
阿新 • • 發佈:2018-12-18
----分組查詢&篩選學習: --關鍵字:group by 分組欄位名,分組欄位名.... --注意1:使用了分組後,在select語句中只允許出現分組欄位和多行函式。 --注意2:如果是多欄位分組,則先按照第一欄位分組,然後每個小組繼續按照第二個欄位繼續分組,以此類推。 --注意3:在where子句中不允許出現多行函式。 --分組篩選 --關鍵字:having --作用:針對分組進行分組後的資料篩選,允許使用多行函式。 --注意:having關鍵必須和分組結合使用。不允許單獨使用。 --where和having的比較: --where子句不允許出現多行函式,having允許出現多行函式 --where子句和having都可以使用普通欄位直接進行篩選,但是where的效率高於having --where執行順序: from--->where--->group by-->select-->order by --having執行順序:from--->group by-->select--->having--->order by --結論:在分組語句中,使用where進行欄位級別的篩選,使用having進行多行函式的篩選。 --查詢最高工資和員工數 select max(sal),count(*) from emp --查詢不同部門的最高工資 select deptno,max(sal) from emp group by deptno select * from emp --查詢不同工作崗位的員工數 select job, count(*) from emp group by job --查詢不同部門的不同工作崗位的人數 select deptno ,lower(job),count(*) from emp group by deptno,job order by deptno --查詢不同部門的不同工作崗位的並且人數大於1的資訊 select deptno ,lower(job),count(*) from emp group by deptno,job having count(*)>1 order by deptno --查詢部門號大於10的不同部門的不同工作崗位的人數 --使用having關鍵字 select deptno ,lower(job),count(*) from emp group by deptno,job having deptno>10 order by deptno --使用where關鍵字 select deptno,job,count(*) from emp where deptno>10 group by deptno,job order by deptno ---SQL查詢語句的結構 --select 子句 要查詢的資料(oracle函式,別名,連線符,去除重複,邏輯運算) --from語句 決定要查詢的表(表名) --where子句 篩選資料(篩選條件,關鍵字) --group by子句 分組 (分組欄位) --having子句 分組篩選 (多行函式篩選條件) --order by子句 排序 (排序) --from-->where--->group by-->select--->having--->order by