java流程控制之For迴圈
阿新 • • 發佈:2022-05-05
- 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;