1. 程式人生 > 其它 >java流程控制之For迴圈

java流程控制之For迴圈

  • MySQL算是平時接觸比較多的資料庫,最近由於沒有使用,擱置了一段時間,導致好多語法都已經生疏。趁著假期有空重新拾起來。之前在補基礎的時候重新回顧了資料庫SQL語法,筆記都記錄在了紙質的本子上。鑑於紙質筆記攜帶不方便,翻閱起來也慢,所以才有了這次的記錄。正好最近公司也逐漸有了MySQL的任務,多方因素下,開始整理筆記,以便日後查閱。
  • 首先介紹下sql語言,全稱為(structured query language)結構化查詢語言,具有定義、查詢、更新和控制等多種功能,是關係資料庫的標準語言。
  • sql有幾種分類,分別是
    資料庫操縱語言DML:用於操作資料,如select,insert,update,delete
    資料定義語言DDL:用於操作表,如create,alter,drop,rename,truncate
    資料控制語言DCL:用於操作許可權,如grant,revoke
    
  • 常見查詢語句的結構組成:select [distinct] {*,column 別名} from table 別名 where 條件表示式。
  • 練習:
    查詢僱員表編號為10的員工:
    select empno,ename,job from emp where depno = 10;
    查詢去重後的部門編號:
    select distinct deptno from emp;
    查詢中對列和表新增別名,as可有可無
    select e.empno as 僱員編號,e.ename as 僱員名稱,e.job as 僱員工作 from emp e where e.deptno = 10;
    查詢表中所有欄位,可以用*,但專案中不要隨便用,效率極其低
    select * from emp;
    
  • 關於distinct:
    distinct必須放在開頭,去重也可以針對多個欄位,多個欄位只要有一個不匹配,就算是不同的記錄。
    select distinct deptno,sal from emp;
    
  • 使用in查詢部門名稱為sales或research的僱員姓名,工資,部門
    select ename,sal,deptno from emp where deptno in (select deptno from dept where dname = 'sales' or dname = 'research');
    
  • 使用exists查詢部門名稱為sales或reserch的僱員姓名,工資,部門
    select ename,sal,deptno from emp where exits(select deptno from dept where (dname = 'sales' or dname = 'research') and emp.deptno = dept.detpno);
    
  • where條件符號:
    =      select * from emp where deptno = 20
    !=     select * from emp where deptno != 20
    <,>   select * from emp where deptno > 20
    any    取任意一個,滿足即可   select sal from emp where sal > any(1000,1500,3000);
    some   效果與any一樣    select sal from emp where sal > some(1000,1500,3000);
    all    所有都滿足成立     select sal from emp where sal > all(1000,1500,3000);
    is null 在sql語法中,null表特殊含義,不能用=null或!=null判斷,要用is is not 
            select * from emp where comm is null; //comm = null會查不到
    is not null 
            select * from emp where comm is not null;//同樣comm !=null 會查不到
    between x and y
            select * from emp where sal between 1500 and 3000;
    效果等同於:select * from emp where sal >=1500 and sal <=3000;
    
  • 需要進行某些值的等值判斷的時候可以使用in和not in
    select * from emp where deptno in (10,20);
    select * from emp where deptno =10 or deptno = 20;
    可使用and和or關鍵字,可以同時出現在一個sql中,此時要注意and和or的優先順序,and優先順序高於or,所以一定要將or的相關操作用括號括起來,提高優先順序。
    select * from emp where deptno not in(10,20);
    select * from emp where deptno !=10 and deptno !=20;