条件查询时,若遇到条件判定为null,不可使用=,因为null不是一个值,而是表示一个也没有(注:区别于等于0,0好歹有个值,null是没有值),正确的用法是
select ename,sal from emp where sal is null;
若条件不为null,则 is not null
条件查询时,and和or同时出现,and优先级较高。如果想让or先执行,可以加小括号。
比如,想查询工资大于2500,且部门号为10或20的员工,如果用下面的代码则会出问题,
select ename,deptno from emp
where sal>2500 and deptno=10 or deptno=20;
如你所见,由于and优先级高,最后查询到的结果应该是:部门号为10且工资大于2500,或者部门号为20的员工。
正确的写法应该是
select ename,deptno from emp
where sal>2500 and (deptno=10 or deptno=20);
in的用法:in后面()中填入具体的内容,不表示区间。(区间是between and)
select ename,deptno from emp
where sal>2500 and deptno in (10,20);
条件查询网课已全部看完,下一课是模糊查询。若书本上有其他重要的用法,我会在这里加以补充。