参考原文https://www.jianshu.com/p/04bb31cf9cec
原文中有详细的示例代码
注意体会条件查询的语句写法
select emp.empno,emp.ename,emp.sal,salgrade.grade,dept.dname
from salgrade,dept,emp
where (emp.deptno = dept.deptno) and (emp.sal between salgrade.losal and salgrade.hisal)
数据库采用自由向左的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之左,那些可以过滤调最大数量记录的条件必须写在WHERE子句的之右。
select emp.empno,emp.ename,emp.sal,dept.dname
from dept,emp
where (emp.deptno=dept.deptno) and (emp.sal>1500)
- 用IN代替OR
select * from emp where sal = 1500 or sal=3000 or sal=800;
替代为
select * from emp where sal in (1500,3000,800);
网友评论