7.MYSQL 多表查询

16 篇文章 0 订阅

多表查询
 

mysql> select * from emp,dept;
+----+--------------+------+--------------+--------+------------+-----------+---------+----+-----------+
| id | name         | age  | job          | salary | entrydate  | managerid | dept_id | id | name      |
+----+--------------+------+--------------+--------+------------+-----------+---------+----+-----------+
|  1 | 张三         |   25 | 工程师       |   5000 | 2021-01-01 |         1 |       1 |  6 | 人事部    |
|  1 | 张三         |   25 | 工程师       |   5000 | 2021-01-01 |         1 |       1 |  5 | 总经办    |
|  1 | 张三         |   25 | 工程师       |   5000 | 2021-01-01 |         1 |       1 |  4 | 销售部    |
|  1 | 张三         |   25 | 工程师       |   5000 | 2021-01-01 |         1 |       1 |  3 | 财务部    |
|  1 | 张三         |   25 | 工程师       |   5000 | 2021-01-01 |         1 |       1 |  2 | 市场部    |
|  1 | 张三         |   25 | 工程师       |   5000 | 2021-01-01 |         1 |       1 |  1 | 研发部    |
|  2 | 李四         |   30 | 经理         |   8000 | 2020-12-15 |         1 |       2 |  6 | 人事部    |
|  2 | 李四         |   30 | 经理         |   8000 | 2020-12-15 |         1 |       2 |  5 | 总经办    |
|  2 | 李四         |   30 | 经理         |   8000 | 2020-12-15 |         1 |       2 |  4 | 销售部    |
|  2 | 李四         |   30 | 经理         |   8000 | 2020-12-15 |         1 |       2 |  3 | 财务部    |
|  2 | 李四         |   30 | 经理         |   8000 | 2020-12-15 |         1 |       2 |  2 | 市场部    |
|  2 | 李四         |   30 | 经理         |   8000 | 2020-12-15 |         1 |       2 |  1 | 研发部    |
|  3 | 王五         |   28 | 销售员       |   4000 | 2021-02-10 |         2 |       1 |  6 | 人事部    |
|  3 | 王五         |   28 | 销售员       |   4000 | 2021-02-10 |         2 |       1 |  5 | 总经办    |
|  3 | 王五         |   28 | 销售员       |   4000 | 2021-02-10 |         2 |       1 |  4 | 销售部    |
|  3 | 王五         |   28 | 销售员       |   4000 | 2021-02-10 |         2 |       1 |  3 | 财务部    |
|  3 | 王五         |   28 | 销售员       |   4000 | 2021-02-10 |         2 |       1 |  2 | 市场部    |
|  3 | 王五         |   28 | 销售员       |   4000 | 2021-02-10 |         2 |       1 |  1 | 研发部    |
|  4 | 赵六         |   35 | 人事         |   6000 | 2021-03-20 |         2 |       2 |  6 | 人事部    |
|  4 | 赵六         |   35 | 人事         |   6000 | 2021-03-20 |         2 |       2 |  5 | 总经办    |
|  4 | 赵六         |   35 | 人事         |   6000 | 2021-03-20 |         2 |       2 |  4 | 销售部    |
|  4 | 赵六         |   35 | 人事         |   6000 | 2021-03-20 |         2 |       2 |  3 | 财务部    |
|  4 | 赵六         |   35 | 人事         |   6000 | 2021-03-20 |         2 |       2 |  2 | 市场部    |
|  4 | 赵六         |   35 | 人事         |   6000 | 2021-03-20 |         2 |       2 |  1 | 研发部    |
|  5 | 刘七         |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 |  6 | 人事部    |
|  5 | 刘七         |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 |  5 | 总经办    |
|  5 | 刘七         |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 |  4 | 销售部    |
|  5 | 刘七         |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 |  3 | 财务部    |
|  5 | 刘七         |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 |  2 | 市场部    |
|  5 | 刘七         |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 |  1 | 研发部    |
|  6 | 陈八         |   32 | 财务         |   7000 | 2021-05-12 |         3 |       2 |  6 | 人事部    |
|  6 | 陈八         |   32 | 财务         |   7000 | 2021-05-12 |         3 |       2 |  5 | 总经办    |
|  6 | 陈八         |   32 | 财务         |   7000 | 2021-05-12 |         3 |       2 |  4 | 销售部    |
|  6 | 陈八         |   32 | 财务         |   7000 | 2021-05-12 |         3 |       2 |  3 | 财务部    |
|  6 | 陈八         |   32 | 财务         |   7000 | 2021-05-12 |         3 |       2 |  2 | 市场部    |
|  6 | 陈八         |   32 | 财务         |   7000 | 2021-05-12 |         3 |       2 |  1 | 研发部    |
|  7 | 杨九         |   29 | 市场         |   5500 | 2021-06-18 |         4 |       1 |  6 | 人事部    |
|  7 | 杨九         |   29 | 市场         |   5500 | 2021-06-18 |         4 |       1 |  5 | 总经办    |
|  7 | 杨九         |   29 | 市场         |   5500 | 2021-06-18 |         4 |       1 |  4 | 销售部    |
|  7 | 杨九         |   29 | 市场         |   5500 | 2021-06-18 |         4 |       1 |  3 | 财务部    |
|  7 | 杨九         |   29 | 市场         |   5500 | 2021-06-18 |         4 |       1 |  2 | 市场部    |
|  7 | 杨九         |   29 | 市场         |   5500 | 2021-06-18 |         4 |       1 |  1 | 研发部    |
|  8 | 黄十         |   31 | 运营         |   6500 | 2021-07-25 |         4 |       2 |  6 | 人事部    |
|  8 | 黄十         |   31 | 运营         |   6500 | 2021-07-25 |         4 |       2 |  5 | 总经办    |
|  8 | 黄十         |   31 | 运营         |   6500 | 2021-07-25 |         4 |       2 |  4 | 销售部    |
|  8 | 黄十         |   31 | 运营         |   6500 | 2021-07-25 |         4 |       2 |  3 | 财务部    |
|  8 | 黄十         |   31 | 运营         |   6500 | 2021-07-25 |         4 |       2 |  2 | 市场部    |
|  8 | 黄十         |   31 | 运营         |   6500 | 2021-07-25 |         4 |       2 |  1 | 研发部    |
|  9 | 罗十一       |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 |  6 | 人事部    |
|  9 | 罗十一       |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 |  5 | 总经办    |
|  9 | 罗十一       |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 |  4 | 销售部    |
|  9 | 罗十一       |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 |  3 | 财务部    |
|  9 | 罗十一       |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 |  2 | 市场部    |
|  9 | 罗十一       |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 |  1 | 研发部    |
| 10 | 吴十二       |   33 | 采购         |   7500 | 2021-09-08 |         5 |       2 |  6 | 人事部    |
| 10 | 吴十二       |   33 | 采购         |   7500 | 2021-09-08 |         5 |       2 |  5 | 总经办    |
| 10 | 吴十二       |   33 | 采购         |   7500 | 2021-09-08 |         5 |       2 |  4 | 销售部    |
| 10 | 吴十二       |   33 | 采购         |   7500 | 2021-09-08 |         5 |       2 |  3 | 财务部    |
| 10 | 吴十二       |   33 | 采购         |   7500 | 2021-09-08 |         5 |       2 |  2 | 市场部    |
| 10 | 吴十二       |   33 | 采购         |   7500 | 2021-09-08 |         5 |       2 |  1 | 研发部    |
| 11 | 郑十三       |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 |  6 | 人事部    |
| 11 | 郑十三       |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 |  5 | 总经办    |
| 11 | 郑十三       |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 |  4 | 销售部    |
| 11 | 郑十三       |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 |  3 | 财务部    |
| 11 | 郑十三       |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 |  2 | 市场部    |
| 11 | 郑十三       |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 |  1 | 研发部    |
| 12 | 周十四       |   34 | 行政         |   6800 | 2021-11-21 |         6 |       2 |  6 | 人事部    |
| 12 | 周十四       |   34 | 行政         |   6800 | 2021-11-21 |         6 |       2 |  5 | 总经办    |
| 12 | 周十四       |   34 | 行政         |   6800 | 2021-11-21 |         6 |       2 |  4 | 销售部    |
| 12 | 周十四       |   34 | 行政         |   6800 | 2021-11-21 |         6 |       2 |  3 | 财务部    |
| 12 | 周十四       |   34 | 行政         |   6800 | 2021-11-21 |         6 |       2 |  2 | 市场部    |
| 12 | 周十四       |   34 | 行政         |   6800 | 2021-11-21 |         6 |       2 |  1 | 研发部    |
| 13 | 朱十五       |   27 | 品控         |   5200 | 2021-12-27 |         7 |       1 |  6 | 人事部    |
| 13 | 朱十五       |   27 | 品控         |   5200 | 2021-12-27 |         7 |       1 |  5 | 总经办    |
| 13 | 朱十五       |   27 | 品控         |   5200 | 2021-12-27 |         7 |       1 |  4 | 销售部    |
| 13 | 朱十五       |   27 | 品控         |   5200 | 2021-12-27 |         7 |       1 |  3 | 财务部    |
| 13 | 朱十五       |   27 | 品控         |   5200 | 2021-12-27 |         7 |       1 |  2 | 市场部    |
| 13 | 朱十五       |   27 | 品控         |   5200 | 2021-12-27 |         7 |       1 |  1 | 研发部    |
| 14 | 秦十六       |   32 | 研发         |   7800 | 2022-01-02 |         7 |       2 |  6 | 人事部    |
| 14 | 秦十六       |   32 | 研发         |   7800 | 2022-01-02 |         7 |       2 |  5 | 总经办    |
| 14 | 秦十六       |   32 | 研发         |   7800 | 2022-01-02 |         7 |       2 |  4 | 销售部    |
| 14 | 秦十六       |   32 | 研发         |   7800 | 2022-01-02 |         7 |       2 |  3 | 财务部    |
| 14 | 秦十六       |   32 | 研发         |   7800 | 2022-01-02 |         7 |       2 |  2 | 市场部    |
| 14 | 秦十六       |   32 | 研发         |   7800 | 2022-01-02 |         7 |       2 |  1 | 研发部    |
| 15 | 许十七       |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 |  6 | 人事部    |
| 15 | 许十七       |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 |  5 | 总经办    |
| 15 | 许十七       |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 |  4 | 销售部    |
| 15 | 许十七       |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 |  3 | 财务部    |
| 15 | 许十七       |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 |  2 | 市场部    |
| 15 | 许十七       |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 |  1 | 研发部    |
| 16 | 何十八       |   31 | 市场         |   6200 | 2022-03-16 |         8 |       2 |  6 | 人事部    |
| 16 | 何十八       |   31 | 市场         |   6200 | 2022-03-16 |         8 |       2 |  5 | 总经办    |
| 16 | 何十八       |   31 | 市场         |   6200 | 2022-03-16 |         8 |       2 |  4 | 销售部    |
| 16 | 何十八       |   31 | 市场         |   6200 | 2022-03-16 |         8 |       2 |  3 | 财务部    |
| 16 | 何十八       |   31 | 市场         |   6200 | 2022-03-16 |         8 |       2 |  2 | 市场部    |
| 16 | 何十八       |   31 | 市场         |   6200 | 2022-03-16 |         8 |       2 |  1 | 研发部    |
| 17 | 冯十九       |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 |  6 | 人事部    |
| 17 | 冯十九       |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 |  5 | 总经办    |
| 17 | 冯十九       |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 |  4 | 销售部    |
| 17 | 冯十九       |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 |  3 | 财务部    |
| 17 | 冯十九       |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 |  2 | 市场部    |
| 17 | 冯十九       |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 |  1 | 研发部    |
| 18 | 邓二十       |   33 | 人事         |   7200 | 2022-05-29 |         9 |       2 |  6 | 人事部    |
| 18 | 邓二十       |   33 | 人事         |   7200 | 2022-05-29 |         9 |       2 |  5 | 总经办    |
| 18 | 邓二十       |   33 | 人事         |   7200 | 2022-05-29 |         9 |       2 |  4 | 销售部    |
| 18 | 邓二十       |   33 | 人事         |   7200 | 2022-05-29 |         9 |       2 |  3 | 财务部    |
| 18 | 邓二十       |   33 | 人事         |   7200 | 2022-05-29 |         9 |       2 |  2 | 市场部    |
| 18 | 邓二十       |   33 | 人事         |   7200 | 2022-05-29 |         9 |       2 |  1 | 研发部    |
| 19 | 肖二十一     |   28 | 技术支持     |   5300 | 2022-06-04 |        10 |       1 |  6 | 人事部    |
| 19 | 肖二十一     |   28 | 技术支持     |   5300 | 2022-06-04 |        10 |       1 |  5 | 总经办    |
| 19 | 肖二十一     |   28 | 技术支持     |   5300 | 2022-06-04 |        10 |       1 |  4 | 销售部    |
| 19 | 肖二十一     |   28 | 技术支持     |   5300 | 2022-06-04 |        10 |       1 |  3 | 财务部    |
| 19 | 肖二十一     |   28 | 技术支持     |   5300 | 2022-06-04 |        10 |       1 |  2 | 市场部    |
| 19 | 肖二十一     |   28 | 技术支持     |   5300 | 2022-06-04 |        10 |       1 |  1 | 研发部    |
| 20 | 潘二十二     |   34 | 财务         |   6900 | 2022-07-11 |        10 |       2 |  6 | 人事部    |
| 20 | 潘二十二     |   34 | 财务         |   6900 | 2022-07-11 |        10 |       2 |  5 | 总经办    |
| 20 | 潘二十二     |   34 | 财务         |   6900 | 2022-07-11 |        10 |       2 |  4 | 销售部    |
| 20 | 潘二十二     |   34 | 财务         |   6900 | 2022-07-11 |        10 |       2 |  3 | 财务部    |
| 20 | 潘二十二     |   34 | 财务         |   6900 | 2022-07-11 |        10 |       2 |  2 | 市场部    |
| 20 | 潘二十二     |   34 | 财务         |   6900 | 2022-07-11 |        10 |       2 |  1 | 研发部    |
+----+--------------+------+--------------+--------+------------+-----------+---------+----+-----------+
120 rows in set (0.00 sec)

去除重复笛卡尔积

mysql> select * from emp,dept where emp.dept_id = dept.id;
+----+--------------+------+--------------+--------+------------+-----------+---------+----+-----------+
| id | name         | age  | job          | salary | entrydate  | managerid | dept_id | id | name      |
+----+--------------+------+--------------+--------+------------+-----------+---------+----+-----------+
|  1 | 张三         |   25 | 工程师       |   5000 | 2021-01-01 |         1 |       1 |  1 | 研发部    |
|  2 | 李四         |   30 | 经理         |   8000 | 2020-12-15 |         1 |       2 |  2 | 市场部    |
|  3 | 王五         |   28 | 销售员       |   4000 | 2021-02-10 |         2 |       1 |  1 | 研发部    |
|  4 | 赵六         |   35 | 人事         |   6000 | 2021-03-20 |         2 |       2 |  2 | 市场部    |
|  5 | 刘七         |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 |  1 | 研发部    |
|  6 | 陈八         |   32 | 财务         |   7000 | 2021-05-12 |         3 |       2 |  2 | 市场部    |
|  7 | 杨九         |   29 | 市场         |   5500 | 2021-06-18 |         4 |       1 |  1 | 研发部    |
|  8 | 黄十         |   31 | 运营         |   6500 | 2021-07-25 |         4 |       2 |  2 | 市场部    |
|  9 | 罗十一       |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 |  1 | 研发部    |
| 10 | 吴十二       |   33 | 采购         |   7500 | 2021-09-08 |         5 |       2 |  2 | 市场部    |
| 11 | 郑十三       |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 |  1 | 研发部    |
| 12 | 周十四       |   34 | 行政         |   6800 | 2021-11-21 |         6 |       2 |  2 | 市场部    |
| 13 | 朱十五       |   27 | 品控         |   5200 | 2021-12-27 |         7 |       1 |  1 | 研发部    |
| 14 | 秦十六       |   32 | 研发         |   7800 | 2022-01-02 |         7 |       2 |  2 | 市场部    |
| 15 | 许十七       |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 |  1 | 研发部    |
| 16 | 何十八       |   31 | 市场         |   6200 | 2022-03-16 |         8 |       2 |  2 | 市场部    |
| 17 | 冯十九       |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 |  1 | 研发部    |
| 18 | 邓二十       |   33 | 人事         |   7200 | 2022-05-29 |         9 |       2 |  2 | 市场部    |
| 19 | 肖二十一     |   28 | 技术支持     |   5300 | 2022-06-04 |        10 |       1 |  1 | 研发部    |
| 20 | 潘二十二     |   34 | 财务         |   6900 | 2022-07-11 |        10 |       2 |  2 | 市场部    |
+----+--------------+------+--------------+--------+------------+-----------+---------+----+-----------+
20 rows in set (0.00 sec)

 多表查询内连接

 

mysql> select emp.name,dept.name from emp,dept where emp.dept_id = dept.id;
+--------------+-----------+
| name         | name      |
+--------------+-----------+
| 张三         | 研发部    |
| 李四         | 市场部    |
| 王五         | 研发部    |
| 赵六         | 市场部    |
| 刘七         | 研发部    |
| 陈八         | 市场部    |
| 杨九         | 研发部    |
| 黄十         | 市场部    |
| 罗十一       | 研发部    |
| 吴十二       | 市场部    |
| 郑十三       | 研发部    |
| 周十四       | 市场部    |
| 朱十五       | 研发部    |
| 秦十六       | 市场部    |
| 许十七       | 研发部    |
| 何十八       | 市场部    |
| 冯十九       | 研发部    |
| 邓二十       | 市场部    |
| 肖二十一     | 研发部    |
| 潘二十二     | 市场部    |
+--------------+-----------+
20 rows in set (0.00 sec)

mysql> select e.name,d.name from emp e,dept d where e.dept_id = d.id;
+--------------+-----------+
| name         | name      |
+--------------+-----------+
| 张三         | 研发部    |
| 李四         | 市场部    |
| 王五         | 研发部    |
| 赵六         | 市场部    |
| 刘七         | 研发部    |
| 陈八         | 市场部    |
| 杨九         | 研发部    |
| 黄十         | 市场部    |
| 罗十一       | 研发部    |
| 吴十二       | 市场部    |
| 郑十三       | 研发部    |
| 周十四       | 市场部    |
| 朱十五       | 研发部    |
| 秦十六       | 市场部    |
| 许十七       | 研发部    |
| 何十八       | 市场部    |
| 冯十九       | 研发部    |
| 邓二十       | 市场部    |
| 肖二十一     | 研发部    |
| 潘二十二     | 市场部    |
+--------------+-----------+
20 rows in set (0.00 sec)
mysql> select e.name,d.name from emp e inner join dept d on e.dept_id=d.id;
+--------------+-----------+
| name         | name      |
+--------------+-----------+
| 张三         | 研发部    |
| 李四         | 市场部    |
| 王五         | 研发部    |
| 赵六         | 市场部    |
| 刘七         | 研发部    |
| 陈八         | 市场部    |
| 杨九         | 研发部    |
| 黄十         | 市场部    |
| 罗十一       | 研发部    |
| 吴十二       | 市场部    |
| 郑十三       | 研发部    |
| 周十四       | 市场部    |
| 朱十五       | 研发部    |
| 秦十六       | 市场部    |
| 许十七       | 研发部    |
| 何十八       | 市场部    |
| 冯十九       | 研发部    |
| 邓二十       | 市场部    |
| 肖二十一     | 研发部    |
| 潘二十二     | 市场部    |
+--------------+-----------+
20 rows in set (0.00 sec)

 

mysql> select e.*,d.name from emp e left outer join dept d on e.dept_id=d.id;
+----+--------------+------+--------------+--------+------------+-----------+---------+-----------+
| id | name         | age  | job          | salary | entrydate  | managerid | dept_id | name      |
+----+--------------+------+--------------+--------+------------+-----------+---------+-----------+
|  1 | 张三         |   25 | 工程师       |   5000 | 2021-01-01 |         1 |       1 | 研发部    |
|  2 | 李四         |   30 | 经理         |   8000 | 2020-12-15 |         1 |       2 | 市场部    |
|  3 | 王五         |   28 | 销售员       |   4000 | 2021-02-10 |         2 |       1 | 研发部    |
|  4 | 赵六         |   35 | 人事         |   6000 | 2021-03-20 |         2 |       2 | 市场部    |
|  5 | 刘七         |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 | 研发部    |
|  6 | 陈八         |   32 | 财务         |   7000 | 2021-05-12 |         3 |       2 | 市场部    |
|  7 | 杨九         |   29 | 市场         |   5500 | 2021-06-18 |         4 |       1 | 研发部    |
|  8 | 黄十         |   31 | 运营         |   6500 | 2021-07-25 |         4 |       2 | 市场部    |
|  9 | 罗十一       |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 | 研发部    |
| 10 | 吴十二       |   33 | 采购         |   7500 | 2021-09-08 |         5 |       2 | 市场部    |
| 11 | 郑十三       |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 | 研发部    |
| 12 | 周十四       |   34 | 行政         |   6800 | 2021-11-21 |         6 |       2 | 市场部    |
| 13 | 朱十五       |   27 | 品控         |   5200 | 2021-12-27 |         7 |       1 | 研发部    |
| 14 | 秦十六       |   32 | 研发         |   7800 | 2022-01-02 |         7 |       2 | 市场部    |
| 15 | 许十七       |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 | 研发部    |
| 16 | 何十八       |   31 | 市场         |   6200 | 2022-03-16 |         8 |       2 | 市场部    |
| 17 | 冯十九       |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 | 研发部    |
| 18 | 邓二十       |   33 | 人事         |   7200 | 2022-05-29 |         9 |       2 | 市场部    |
| 19 | 肖二十一     |   28 | 技术支持     |   5300 | 2022-06-04 |        10 |       1 | 研发部    |
| 20 | 潘二十二     |   34 | 财务         |   6900 | 2022-07-11 |        10 |       2 | 市场部    |
+----+--------------+------+--------------+--------+------------+-----------+---------+-----------+
20 rows in set (0.00 sec)

mysql> select e.*,d.name from emp e right outer join dept d on e.dept_id=d.id;
+------+--------------+------+--------------+--------+------------+-----------+---------+-----------+
| id   | name         | age  | job          | salary | entrydate  | managerid | dept_id | name      |
+------+--------------+------+--------------+--------+------------+-----------+---------+-----------+
|    1 | 张三         |   25 | 工程师       |   5000 | 2021-01-01 |         1 |       1 | 研发部    |
|    3 | 王五         |   28 | 销售员       |   4000 | 2021-02-10 |         2 |       1 | 研发部    |
|    5 | 刘七         |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 | 研发部    |
|    7 | 杨九         |   29 | 市场         |   5500 | 2021-06-18 |         4 |       1 | 研发部    |
|    9 | 罗十一       |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 | 研发部    |
|   11 | 郑十三       |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 | 研发部    |
|   13 | 朱十五       |   27 | 品控         |   5200 | 2021-12-27 |         7 |       1 | 研发部    |
|   15 | 许十七       |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 | 研发部    |
|   17 | 冯十九       |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 | 研发部    |
|   19 | 肖二十一     |   28 | 技术支持     |   5300 | 2022-06-04 |        10 |       1 | 研发部    |
|    2 | 李四         |   30 | 经理         |   8000 | 2020-12-15 |         1 |       2 | 市场部    |
|    4 | 赵六         |   35 | 人事         |   6000 | 2021-03-20 |         2 |       2 | 市场部    |
|    6 | 陈八         |   32 | 财务         |   7000 | 2021-05-12 |         3 |       2 | 市场部    |
|    8 | 黄十         |   31 | 运营         |   6500 | 2021-07-25 |         4 |       2 | 市场部    |
|   10 | 吴十二       |   33 | 采购         |   7500 | 2021-09-08 |         5 |       2 | 市场部    |
|   12 | 周十四       |   34 | 行政         |   6800 | 2021-11-21 |         6 |       2 | 市场部    |
|   14 | 秦十六       |   32 | 研发         |   7800 | 2022-01-02 |         7 |       2 | 市场部    |
|   16 | 何十八       |   31 | 市场         |   6200 | 2022-03-16 |         8 |       2 | 市场部    |
|   18 | 邓二十       |   33 | 人事         |   7200 | 2022-05-29 |         9 |       2 | 市场部    |
|   20 | 潘二十二     |   34 | 财务         |   6900 | 2022-07-11 |        10 |       2 | 市场部    |
| NULL | NULL         | NULL | NULL         |   NULL | NULL       |      NULL |    NULL | 财务部    |
| NULL | NULL         | NULL | NULL         |   NULL | NULL       |      NULL |    NULL | 销售部    |
| NULL | NULL         | NULL | NULL         |   NULL | NULL       |      NULL |    NULL | 总经办    |
| NULL | NULL         | NULL | NULL         |   NULL | NULL       |      NULL |    NULL | 人事部    |
+------+--------------+------+--------------+--------+------------+-----------+---------+-----------+
24 rows in set (0.00 sec)
mysql> select a.name,b.name from emp a, emp b where a.managerid=b.id;
+--------------+-----------+
| name         | name      |
+--------------+-----------+
| 张三         | 张三      |
| 李四         | 张三      |
| 王五         | 李四      |
| 赵六         | 李四      |
| 刘七         | 王五      |
| 陈八         | 王五      |
| 杨九         | 赵六      |
| 黄十         | 赵六      |
| 罗十一       | 刘七      |
| 吴十二       | 刘七      |
| 郑十三       | 陈八      |
| 周十四       | 陈八      |
| 朱十五       | 杨九      |
| 秦十六       | 杨九      |
| 许十七       | 黄十      |
| 何十八       | 黄十      |
| 冯十九       | 罗十一    |
| 邓二十       | 罗十一    |
| 肖二十一     | 吴十二    |
| 潘二十二     | 吴十二    |
+--------------+-----------+
20 rows in set (0.00 sec)

联合查询

mysql> select * from emp where salary < 5000 union all select * from emp where age>50;
+----+-----------+------+--------------+--------+------------+-----------+---------+
| id | name      | age  | job          | salary | entrydate  | managerid | dept_id |
+----+-----------+------+--------------+--------+------------+-----------+---------+
|  3 | 王五      |   28 | 销售员       |   4000 | 2021-02-10 |         2 |       1 |
|  5 | 刘七      |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 |
|  9 | 罗十一    |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 |
| 11 | 郑十三    |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 |
| 15 | 许十七    |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 |
| 17 | 冯十九    |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 |
+----+-----------+------+--------------+--------+------------+-----------+---------+
6 rows in set (0.00 sec)

union和union all的区别是 all会将所有数据都添加

mysql> select * from emp where salary < 5000 union select * from emp where age>50;
+----+-----------+------+--------------+--------+------------+-----------+---------+
| id | name      | age  | job          | salary | entrydate  | managerid | dept_id |
+----+-----------+------+--------------+--------+------------+-----------+---------+
|  3 | 王五      |   28 | 销售员       |   4000 | 2021-02-10 |         2 |       1 |
|  5 | 刘七      |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 |
|  9 | 罗十一    |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 |
| 11 | 郑十三    |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 |
| 15 | 许十七    |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 |
| 17 | 冯十九    |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 |
+----+-----------+------+--------------+--------+------------+-----------+---------+
6 rows in set (0.01 sec)

联合查询第一个查询的列数必须和第二个查询的列数相同

子查询

mysql> select * from emp  where id = (select id from dept where name ='销售部');
+----+--------+------+--------+--------+------------+-----------+---------+
| id | name   | age  | job    | salary | entrydate  | managerid | dept_id |
+----+--------+------+--------+--------+------------+-----------+---------+
|  4 | 赵六   |   35 | 人事   |   6000 | 2021-03-20 |         2 |       2 |
+----+--------+------+--------+--------+------------+-----------+---------+
1 row in set (0.00 sec)
mysql> select * from emp where entrydate > (select entrydate from emp where name = '赵六');
+----+--------------+------+--------------+--------+------------+-----------+---------+
| id | name         | age  | job          | salary | entrydate  | managerid | dept_id |
+----+--------------+------+--------------+--------+------------+-----------+---------+
|  5 | 刘七         |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 |
|  6 | 陈八         |   32 | 财务         |   7000 | 2021-05-12 |         3 |       2 |
|  7 | 杨九         |   29 | 市场         |   5500 | 2021-06-18 |         4 |       1 |
|  8 | 黄十         |   31 | 运营         |   6500 | 2021-07-25 |         4 |       2 |
|  9 | 罗十一       |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 |
| 10 | 吴十二       |   33 | 采购         |   7500 | 2021-09-08 |         5 |       2 |
| 11 | 郑十三       |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 |
| 12 | 周十四       |   34 | 行政         |   6800 | 2021-11-21 |         6 |       2 |
| 13 | 朱十五       |   27 | 品控         |   5200 | 2021-12-27 |         7 |       1 |
| 14 | 秦十六       |   32 | 研发         |   7800 | 2022-01-02 |         7 |       2 |
| 15 | 许十七       |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 |
| 16 | 何十八       |   31 | 市场         |   6200 | 2022-03-16 |         8 |       2 |
| 17 | 冯十九       |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 |
| 18 | 邓二十       |   33 | 人事         |   7200 | 2022-05-29 |         9 |       2 |
| 19 | 肖二十一     |   28 | 技术支持     |   5300 | 2022-06-04 |        10 |       1 |
| 20 | 潘二十二     |   34 | 财务         |   6900 | 2022-07-11 |        10 |       2 |
+----+--------------+------+--------------+--------+------------+-----------+---------+
16 rows in set (0.00 sec)

mysql> select * from emp where entrydate > (select entrydate from emp where name = '赵六');

列子查询

查询出了一列多行的数据 需要使用列子查询等数据

mysql> select * from emp where dept_id in (select id from dept where name = '销售部' or name = '市场部');
+----+--------------+------+--------+--------+------------+-----------+---------+
| id | name         | age  | job    | salary | entrydate  | managerid | dept_id |
+----+--------------+------+--------+--------+------------+-----------+---------+
|  2 | 李四         |   30 | 经理   |   8000 | 2020-12-15 |         1 |       2 |
|  4 | 赵六         |   35 | 人事   |   6000 | 2021-03-20 |         2 |       2 |
|  6 | 陈八         |   32 | 财务   |   7000 | 2021-05-12 |         3 |       2 |
|  8 | 黄十         |   31 | 运营   |   6500 | 2021-07-25 |         4 |       2 |
| 10 | 吴十二       |   33 | 采购   |   7500 | 2021-09-08 |         5 |       2 |
| 12 | 周十四       |   34 | 行政   |   6800 | 2021-11-21 |         6 |       2 |
| 14 | 秦十六       |   32 | 研发   |   7800 | 2022-01-02 |         7 |       2 |
| 16 | 何十八       |   31 | 市场   |   6200 | 2022-03-16 |         8 |       2 |
| 18 | 邓二十       |   33 | 人事   |   7200 | 2022-05-29 |         9 |       2 |
| 20 | 潘二十二     |   34 | 财务   |   6900 | 2022-07-11 |        10 |       2 |
+----+--------------+------+--------+--------+------------+-----------+---------+
10 rows in set (0.01 sec)
mysql> select * from emp where salary > any (select salary from emp where dept_id = (select id from dept where name = '研发部'));

+----+--------------+------+--------------+--------+------------+-----------+---------+
| id | name         | age  | job          | salary | entrydate  | managerid | dept_id |
+----+--------------+------+--------------+--------+------------+-----------+---------+
|  1 | 张三         |   25 | 工程师       |   5000 | 2021-01-01 |         1 |       1 |
|  2 | 李四         |   30 | 经理         |   8000 | 2020-12-15 |         1 |       2 |
|  4 | 赵六         |   35 | 人事         |   6000 | 2021-03-20 |         2 |       2 |
|  5 | 刘七         |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 |
|  6 | 陈八         |   32 | 财务         |   7000 | 2021-05-12 |         3 |       2 |
|  7 | 杨九         |   29 | 市场         |   5500 | 2021-06-18 |         4 |       1 |
|  8 | 黄十         |   31 | 运营         |   6500 | 2021-07-25 |         4 |       2 |
|  9 | 罗十一       |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 |
| 10 | 吴十二       |   33 | 采购         |   7500 | 2021-09-08 |         5 |       2 |
| 11 | 郑十三       |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 |
| 12 | 周十四       |   34 | 行政         |   6800 | 2021-11-21 |         6 |       2 |
| 13 | 朱十五       |   27 | 品控         |   5200 | 2021-12-27 |         7 |       1 |
| 14 | 秦十六       |   32 | 研发         |   7800 | 2022-01-02 |         7 |       2 |
| 15 | 许十七       |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 |
| 16 | 何十八       |   31 | 市场         |   6200 | 2022-03-16 |         8 |       2 |
| 17 | 冯十九       |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 |
| 18 | 邓二十       |   33 | 人事         |   7200 | 2022-05-29 |         9 |       2 |
| 19 | 肖二十一     |   28 | 技术支持     |   5300 | 2022-06-04 |        10 |       1 |
| 20 | 潘二十二     |   34 | 财务         |   6900 | 2022-07-11 |        10 |       2 |
| 21 | 张三         |   28 | 经理         |  10000 | 2022-01-01 |         1 |       1 |
| 22 | 李四         |   35 | 主管         |   8000 | 2022-02-01 |         2 |       2 |
| 23 | 王五         |   25 | 员工         |   5000 | 2022-03-01 |         1 |       3 |
| 24 | 赵六         |   30 | 员工         |   5000 | 2022-04-01 |         2 |       4 |
| 25 | 刘七         |   32 | 员工         |   5000 | 2022-05-01 |         1 |       5 |
| 26 | 陈八         |   28 | 员工         |   5000 | 2022-06-01 |         2 |       6 |
| 27 | 杨九         |   29 | 员工         |   5000 | 2022-07-01 |         1 |       1 |
| 28 | 黄十         |   27 | 员工         |   5000 | 2022-08-01 |         2 |       2 |
| 29 | 周十一       |   31 | 员工         |   5000 | 2022-09-01 |         1 |       3 |
| 30 | 吴十二       |   26 | 员工         |   5000 | 2022-10-01 |         2 |       4 |
| 31 | 郑十三       |   33 | 员工         |   5000 | 2022-11-01 |         1 |       5 |
| 32 | 孙十四       |   28 | 员工         |   5000 | 2022-12-01 |         2 |       6 |
| 33 | 钱十五       |   30 | 员工         |   5000 | 2023-01-01 |         1 |       1 |
| 34 | 冯十六       |   29 | 员工         |   5000 | 2023-02-01 |         2 |       2 |
| 35 | 朱十七       |   27 | 员工         |   5000 | 2023-03-01 |         1 |       3 |
| 36 | 徐十八       |   32 | 员工         |   5000 | 2023-04-01 |         2 |       4 |
| 37 | 林十九       |   25 | 员工         |   5000 | 2023-05-01 |         1 |       5 |
| 38 | 许二十       |   31 | 员工         |   5000 | 2023-06-01 |         2 |       6 |
| 39 | 尹二一       |   28 | 员工         |   5000 | 2023-07-01 |         1 |       1 |
| 40 | 姚二二       |   27 | 员工         |   5000 | 2023-08-01 |         2 |       2 |
+----+--------------+------+--------------+--------+------------+-----------+---------+
39 rows in set (0.00 sec)
mysql> select * from emp where (salary,managerid) =(select salary,managerid from emp where name = '周十一');
+----+-----------+------+-----------+--------+------------+-----------+---------+
| id | name      | age  | job       | salary | entrydate  | managerid | dept_id |
+----+-----------+------+-----------+--------+------------+-----------+---------+
|  1 | 张三      |   25 | 工程师    |   5000 | 2021-01-01 |         1 |       1 |
| 23 | 王五      |   25 | 员工      |   5000 | 2022-03-01 |         1 |       3 |
| 25 | 刘七      |   32 | 员工      |   5000 | 2022-05-01 |         1 |       5 |
| 27 | 杨九      |   29 | 员工      |   5000 | 2022-07-01 |         1 |       1 |
| 29 | 周十一    |   31 | 员工      |   5000 | 2022-09-01 |         1 |       3 |
| 31 | 郑十三    |   33 | 员工      |   5000 | 2022-11-01 |         1 |       5 |
| 33 | 钱十五    |   30 | 员工      |   5000 | 2023-01-01 |         1 |       1 |
| 35 | 朱十七    |   27 | 员工      |   5000 | 2023-03-01 |         1 |       3 |
| 37 | 林十九    |   25 | 员工      |   5000 | 2023-05-01 |         1 |       5 |
| 39 | 尹二一    |   28 | 员工      |   5000 | 2023-07-01 |         1 |       1 |
+----+-----------+------+-----------+--------+------------+-----------+---------+
10 rows in set (0.00 sec)

查询相同的job和salary
mysql> select * from emp where (job,salary) in (select job,salary from emp where name = '王五' or name = '林十九');
+----+-----------+------+-----------+--------+------------+-----------+---------+
| id | name      | age  | job       | salary | entrydate  | managerid | dept_id |
+----+-----------+------+-----------+--------+------------+-----------+---------+
|  3 | 王五      |   28 | 销售员    |   4000 | 2021-02-10 |         2 |       1 |
| 23 | 王五      |   25 | 员工      |   5000 | 2022-03-01 |         1 |       3 |
| 24 | 赵六      |   30 | 员工      |   5000 | 2022-04-01 |         2 |       4 |
| 25 | 刘七      |   32 | 员工      |   5000 | 2022-05-01 |         1 |       5 |
| 26 | 陈八      |   28 | 员工      |   5000 | 2022-06-01 |         2 |       6 |
| 27 | 杨九      |   29 | 员工      |   5000 | 2022-07-01 |         1 |       1 |
| 28 | 黄十      |   27 | 员工      |   5000 | 2022-08-01 |         2 |       2 |
| 29 | 周十一    |   31 | 员工      |   5000 | 2022-09-01 |         1 |       3 |
| 30 | 吴十二    |   26 | 员工      |   5000 | 2022-10-01 |         2 |       4 |
| 31 | 郑十三    |   33 | 员工      |   5000 | 2022-11-01 |         1 |       5 |
| 32 | 孙十四    |   28 | 员工      |   5000 | 2022-12-01 |         2 |       6 |
| 33 | 钱十五    |   30 | 员工      |   5000 | 2023-01-01 |         1 |       1 |
| 34 | 冯十六    |   29 | 员工      |   5000 | 2023-02-01 |         2 |       2 |
| 35 | 朱十七    |   27 | 员工      |   5000 | 2023-03-01 |         1 |       3 |
| 36 | 徐十八    |   32 | 员工      |   5000 | 2023-04-01 |         2 |       4 |
| 37 | 林十九    |   25 | 员工      |   5000 | 2023-05-01 |         1 |       5 |
| 38 | 许二十    |   31 | 员工      |   5000 | 2023-06-01 |         2 |       6 |
| 39 | 尹二一    |   28 | 员工      |   5000 | 2023-07-01 |         1 |       1 |
| 40 | 姚二二    |   27 | 员工      |   5000 | 2023-08-01 |         2 |       2 |
+----+-----------+------+-----------+--------+------------+-----------+---------+
19 rows in set (0.00 sec)

 大于20

 

mysql> select  e.name,e.age,e.job,d.name from emp e left outer join dept d on e.dept_id=d.id where e.age<30;
+--------------+------+--------------+-----------+
| name         | age  | job          | name      |
+--------------+------+--------------+-----------+
| 张三         |   25 | 工程师       | 研发部    |
| 王五         |   28 | 销售员       | 研发部    |
| 刘七         |   27 | 技术支持     | 研发部    |
| 杨九         |   29 | 市场         | 研发部    |
| 罗十一       |   26 | 设计师       | 研发部    |
| 郑十三       |   28 | 客服         | 研发部    |
| 朱十五       |   27 | 品控         | 研发部    |
| 许十七       |   29 | 测试         | 研发部    |
| 冯十九       |   26 | 销售员       | 研发部    |
| 肖二十一     |   28 | 技术支持     | 研发部    |
| 张三         |   28 | 经理         | 研发部    |
| 王五         |   25 | 员工         | 财务部    |
| 陈八         |   28 | 员工         | 人事部    |
| 杨九         |   29 | 员工         | 研发部    |
| 黄十         |   27 | 员工         | 市场部    |
| 吴十二       |   26 | 员工         | 销售部    |
| 孙十四       |   28 | 员工         | 人事部    |
| 冯十六       |   29 | 员工         | 市场部    |
| 朱十七       |   27 | 员工         | 财务部    |
| 林十九       |   25 | 员工         | 总经办    |
| 尹二一       |   28 | 员工         | 研发部    |
| 姚二二       |   27 | 员工         | 市场部    |
| 张四         |   25 | 经理         | NULL      |
+--------------+------+--------------+-----------+
23 rows in set (0.00 sec)

mysql> select  e.name,e.age,e.job,d.name from emp e left outer join dept d on e.dept_id=d.id where e.age<30;
mysql> select e.*,s.grade from emp e, salgrade s where dept_id = (select id from dept where name ='研发部') and s.losal <= e.salarry and s.hisal>=e.salary;
+------+--------------+------+--------------+--------+------------+-----------+---------+-------+
| id   | name         | age  | job          | salary | entrydate  | managerid | dept_id | grade |
+------+--------------+------+--------------+--------+------------+-----------+---------+-------+
|   39 | 尹二一       |   28 | 员工         |   5000 | 2023-07-01 |         1 |       1 |     2 |
|   33 | 钱十五       |   30 | 员工         |   5000 | 2023-01-01 |         1 |       1 |     2 |
|   27 | 杨九         |   29 | 员工         |   5000 | 2022-07-01 |         1 |       1 |     2 |
|   17 | 冯十九       |   26 | 销售员       |   4900 | 2022-04-22 |         9 |       1 |     2 |
|   15 | 许十七       |   29 | 测试         |   4400 | 2022-02-09 |         8 |       1 |     2 |
|   11 | 郑十三       |   28 | 客服         |   4200 | 2021-10-14 |         6 |       1 |     2 |
|    9 | 罗十一       |   26 | 设计师       |   4800 | 2021-08-30 |         5 |       1 |     2 |
|    5 | 刘七         |   27 | 技术支持     |   4500 | 2021-04-05 |         3 |       1 |     2 |
|    3 | 王五         |   28 | 销售员       |   4000 | 2021-02-10 |         2 |       1 |     2 |
|    1 | 张三         |   25 | 工程师       |   5000 | 2021-01-01 |         1 |       1 |     2 |
|   19 | 肖二十一     |   28 | 技术支持     |   5300 | 2022-06-04 |        10 |       1 |     3 |
|   13 | 朱十五       |   27 | 品控         |   5200 | 2021-12-27 |         7 |       1 |     3 |
|    7 | 杨九         |   29 | 市场         |   5500 | 2021-06-18 |         4 |       1 |     3 |
|   21 | 张三         |   28 | 经理         |  10000 | 2022-01-01 |         1 |       1 |     4 |
+------+--------------+------+--------------+--------+------------+-----------+---------+-------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值