1、选择部门30中的全部员工;
SELECT * FROM emp WHERE depno = '30';
SELECT * FROM emp WHERE deptno = 30;
2、列出所有办事员的姓名、编号和部门编号;
SELECT ename, eno, depno FROM emp WHERE ejob = 'CLERK';
SELECT ename, empno. deptno FROM emp WHERE job = 'CLERK';
3、找出佣金高于薪金60%的员工;
SELECT * FROM emp WHERE yj > (sal * 0.6);
SELECT * FROM emp WHERE comm > (sal * 0.6);
4、找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK);
SELECT * FROM emp WHERE deptno = 10 AND job = 'MANAGER', deptno = 20 AND job = 'CLERK';
SELECT * FROM emp WHERE (deptno = 10 AND job = 'MANAGER') OR (deptno = 20 AND job = 'CLERK');
5、找出部门10中所有经理(MANAGER),部门20中所有办事员(CLERK),既不是经理又不是办事员但其薪金大于等于2000的所有员工;
SELECT * FROM emp WHERE (deptno = 10 AND job = 'MANAGER') OR (deptno = 20 AND job = 'CLERK') OR (job NOT IN ('MANAGER', 'CLERK') AND sal >=2000);
SELECT * FROM emp WHERE (deptno = 10 AND job = 'MANAGER') OR (deptno = 20 AND job = 'CLERK') OR (job NOT IN ('MANAGER', 'CLERK') AND sal >=2000);
6、找出收取佣金的员工的不同工作;
SELECT DISTINCT job FROM emp WHERE comm NOT NULL;
SELECT DISTINCT job FROM emp WHERE comm IS NOT NULL;
7、找出不收佣金或收取佣金低于100的员工;
SELECT * FROM emp WHERE (comm IS NULL) OR (comm IS NOT NULL AND comm < 100);
SELECT * FROM emp WHERE (comm IS NULL) OR (comm < 100);
8、显示名字不带'R'的员工的姓名;
SELECT * FROM emp WHERE NOT ename LIKE '%R%';
SELECT * FROM emp WHERE ename NOT LIKE '%R%';
9、显示姓名包含'A'的员工的姓名,显示的结果基于基本工资按照从高到低排序,如果基本工资相同则按照雇佣年限由早到晚排序,如果雇佣日期相同,则按职位排序;
SELECT * FROM emp WHERE ename LIKE '%A%', ORDER BY sal DESC, hiredate, job;
SELECT * FROM emp WHERE ename LIKE '%A%' ORDER BY sal DESC, hiredate, job;
多条件判断使用逻辑连接,使用"()"分隔每个条件。