1.选择部门30中的所有员工
mysql> select empno 编号,ename 姓名 from emp where deptno = 30;
+
| 编号 | 姓名 |
+
| 7499 | 刘博 |
| 7521 | 李兴 |
| 7654 | 刘浩 |
| 7698 | 刘涛 |
| 7844 | 马琪 |
| 7900 | 李小涵 |
+
6 rows in set (0.00 sec)
2.列出所有办事员的姓名,编号和部门编号
mysql> select empno 编号,ename 姓名,deptno 部门号 from emp where job = '办事员';
+
| 编号 | 姓名 | 部门号 |
+
| 7369 | 张倩 | 20 |
| 7876 | 李涵 | 20 |
+
2 rows in set (0.01 sec)
3.找出佣金高于薪金的员工
mysql> select empno 编号,ename 姓名 from emp where comm > sal;
+
| 编号 | 姓名 |
+
| 7654 | 刘浩 |
+
1 row in set (0.00 sec)
4.找出没有佣金的员工
mysql> select empno 编号,ename 姓名,comm 佣金 from emp where comm is null;
+
| 编号 | 姓名 | 佣金 |
+
| 7369 | 张倩 | NULL |
| 7566 | 李雷 | NULL |
| 7698 | 刘涛 | NULL |
| 7782 | 华仔 | NULL |
| 7788 | 张飞 | NULL |
| 7839 | 马晓云 | NULL |
| 7876 | 李涵 | NULL |
| 7900 | 李小涵 | NULL |
| 7902 | 张三 | NULL |
| 7934 | 张三丰 | NULL |
+
10 rows in set (0.00 sec)
5.找出佣金高于薪金的60%的员工
mysql> select empno 编号,ename 姓名 from emp where comm > sal * 0.6;
+
| 编号 | 姓名 |
+
| 7654 | 刘浩 |
+
1 row in set (0.01 sec)
6.找出部门10中所有人事部长和部门20中所有办事员的详细资料
mysql> select * from emp where ((deptno = 10 and job = '人事部长') or (deptno = 20 AND job = '办事员'));
+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+
| 7782 | 华仔 | 人事部长 | 7839 | 1995-06-09 | 2450 | NULL | 10 |
| 7369 | 张倩 | 办事员 | 7902 | 2002-12-17 | 820 | NULL | 20 |
| 7876 | 李涵 | 办事员 | 7788 | 1997-05-23 | 1100 | NULL | 20 |
+
3 rows in set (0.00 sec)
7.找出收取佣金的员工
mysql> select empno 编号,ename 姓名,comm 佣金 from emp where comm is not null;
+
| 编号 | 姓名 | 佣金 |
+
| 7499 | 刘博 | 300 |
| 7521 | 李兴 | 500 |
| 7654 | 刘浩 | 1400 |
| 7844 | 马琪 | 0 |
+
4 rows in set (0.00 sec)
8.找出不收取佣金或收取的佣金低于100的员工
mysql> select empno 编号,ename 姓名,comm 佣金 from emp where comm is null or comm < 100;
+
| 编号 | 姓名 | 佣金 |
+
| 7369 | 张倩 | NULL |
| 7566 | 李雷 | NULL |
| 7698 | 刘涛 | NULL |
| 7782 | 华仔 | NULL |
| 7788 | 张飞 | NULL |
| 7839 | 马晓云 | NULL |
| 7844 | 马琪 | 0 |
| 7876 | 李涵 | NULL |
| 7900 | 李小涵 | NULL |
| 7902 | 张三 | NULL |
| 7934 | 张三丰 | NULL |
+
11 rows in set (0.00 sec)
9.找出姓张的员工的信息
mysql> select * from emp where ename regexp '^张';
+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+
| 7369 | 张倩 | 办事员 | 7902 | 2002-12-17 | 820 | NULL | 20 |
| 7788 | 张飞 | 人事专员 | 7566 | 1998-04-19 | 3000 | NULL | 20 |
| 7902 | 张三 | 人事组长 | 7566 | 1992-10-08 | 3000 | NULL | 20 |
| 7934 | 张三丰 | 人事长 | 7782 | 1997-06-23 | 1300 | NULL | 10 |
+
4 rows in set (0.04 sec)
10.显示员工的姓名和受雇日期,新的员工排在最前面
mysql> select ename 姓名,hiredate 受雇日期 from emp order by hiredate desc;
+
| 姓名 | 受雇日期 |
+
| 张倩 | 2002-12-17 |
| 张飞 | 1998-04-19 |
| 张三丰 | 1997-06-23 |
| 李涵 | 1997-05-23 |
| 刘涛 | 1997-05-01 |
| 马琪 | 1996-09-08 |
| 李兴 | 1995-07-22 |
| 华仔 | 1995-06-09 |
| 李小涵 | 1993-02-13 |
| 张三 | 1992-10-08 |
| 刘博 | 1992-02-20 |
| 马晓云 | 1991-11-17 |
| 刘浩 | 1991-09-28 |
| 李雷 | 1991-04-02 |
+
14 rows in set (0.00 sec)
11.按工作的降序排序,若工作相同则按薪金排序
mysql> select empno 编号,ename 姓名,job 工作,sal 薪资 from emp order by job desc,sal;
+
| 编号 | 姓名 | 工作 | 薪资 |
+
| 7698 | 刘涛 | 销售部长 | 2850 |
| 7900 | 李小涵 | 销售员 | 950 |
| 7839 | 马晓云 | 董事长 | 5000 |
| 7521 | 李兴 | 售货员 | 1250 |
| 7654 | 刘浩 | 售货员 | 1250 |
| 7844 | 马琪 | 售货员 | 1500 |
| 7499 | 刘博 | 售货员 | 1900 |
| 7369 | 张倩 | 办事员 | 820 |
| 7876 | 李涵 | 办事员 | 1100 |
| 7934 | 张三丰 | 人事长 | 1300 |
| 7566 | 李雷 | 人事部长 | 975 |
| 7782 | 华仔 | 人事部长 | 2450 |
| 7902 | 张三 | 人事组长 | 3000 |
| 7788 | 张飞 | 人事专员 | 3000 |
+
14 rows in set (0.00 sec)
12.查出不姓刘的员工的信息
mysql> select * from emp where ename regexp '^[^刘]';
+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+
| 7369 | 张倩 | 办事员 | 7902 | 2002-12-17 | 820 | NULL | 20 |
| 7521 | 李兴 | 售货员 | 7698 | 1995-07-22 | 1250 | 500 | 30 |
| 7566 | 李雷 | 人事部长 | 7839 | 1991-04-02 | 975 | NULL | 20 |
| 7782 | 华仔 | 人事部长 | 7839 | 1995-06-09 | 2450 | NULL | 10 |
| 7788 | 张飞 | 人事专员 | 7566 | 1998-04-19 | 3000 | NULL | 20 |
| 7839 | 马晓云 | 董事长 | NULL | 1991-11-17 | 5000 | NULL | 10 |
| 7844 | 马琪 | 售货员 | 7698 | 1996-09-08 | 1500 | 0 | 30 |
| 7876 | 李涵 | 办事员 | 7788 | 1997-05-23 | 1100 | NULL | 20 |
| 7900 | 李小涵 | 销售员 | 7698 | 1993-02-13 | 950 | NULL | 30 |
| 7902 | 张三 | 人事组长 | 7566 | 1992-10-08 | 3000 | NULL | 20 |
| 7934 | 张三丰 | 人事长 | 7782 | 1997-06-23 | 1300 | NULL | 10 |
+
11 rows in set (0.00 sec)
13.取出姓李的员工
mysql> select empno 编号,ename 姓名 from emp where ename regexp '^李';
+
| 编号 | 姓名 |
+
| 7521 | 李兴 |
| 7566 | 李雷 |
| 7876 | 李涵 |
| 7900 | 李小涵 |
+
4 rows in set (0.00 sec)