where子句
where子句:將過濾條件放在where子句的後面,可以篩選/過濾出我們想要的符合條件的資料
1.where子句 + 關係運算符 > < = >= <= <>不等於 !=不等於
查詢deptno=10的:select * from emp where deptno = 10;
執行結果:
查詢job='clerk'的:select * from emp where job = 'clerk'; (不區分單雙引號,大小寫,但是加了binary就區分大小寫了)
執行結果:
查詢job='CLERK'的:select * from emp where binary
執行結果:
2.where子句 + 邏輯運算子 add(&&)與 or(||)或
sal不包含1500,和3000:select * from emp where sal>1500 and sal<3000; 等價於:select * from emp where sal>1500 && sal<3000;
執行結果:
sal排序:select * from emp where sal>1500 and sal<3000 order by sal;
執行結果:
sal包含1500和3000:select * from
執行結果:
查詢deptno等於10或者20的:select * from emp where deptno = 10 or deptno = 20;
select * from emp where deptno = 10 || deptno = 20;
select * from emp where deptno in(10,20); -- in可接數字,也可接字元 (三條資料相同)
執行結果:
3.模糊查詢
查詢名字帶a的員工:select
執行結果:
查詢第二個字元是a的:select * from emp where ename like'_a%'; (第二個字元是a的 _代表任意一個字元)
執行結果:
4.關於null的判斷
判斷comm是空的:select * from emp where comm is null;
執行結果:
判斷comm不是空的:select * from emp where comm is not null;
執行結果:
5.小括號 優先級別不同,加括號為了可讀性
看先or還是and:select * from emp where job = 'salesman' or job = 'clerk' and sal >= 1500; (先and在or)
執行結果:
select * from emp where job = 'salesman' or (job = 'clerk' and sal >= 1500);
執行結果:
與上面等同,所以說:先and再or and>or
select * from emp where (job = 'salesman' or job = 'clerk') and sal >= 1500;
執行結果: