mysql查询之左连接查询与右连接查询
左右连接为外连接**左连接说明**:left join 是left outer join的简写,左(外)连接,左表(a_table)的记录将会全部表示出来, 而右表(b_table)只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。**右连接说明**:right join是right outer join的简写,与左(外)连接相反,右(外)连接,左表(a_table)只会显示符合搜索条件
·
左连接称之为左外连接 右连接称之为右外连接 这俩个连接都是属于"外连接"
左连接关键字:left join 表名 on 条件 / left outer 表名 join on 条件 右连接关键字:right join 表名 on 条件/ right outer 表名 join on 条件
左连接说明:left join 是left outer join的简写,左(外)连接,左表(a_table)的记录将会全部表示出来, 而右表(b_table)只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。
右连接说明:right join是right outer join的简写,与左(外)连接相反,右(外)连接,左表(a_table)只会显示符合搜索条件的记录,而右表(b_table)的记录将会全部表示出来。左表记录不足的地方均为NULL。
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| dept |
| employee |
| salgrade |
+----------------+
3 rows in set (0.01 sec)
mysql> select * from dept;
+--------+--------+------+
| deptnu | dname | addr |
+--------+--------+------+
| 10 | 研发部 | 北京 |
| 20 | 工程部 | 上海 |
| 30 | 销售部 | 广州 |
| 40 | 财务部 | 深圳 |
+--------+--------+------+
4 rows in set (0.01 sec)
mysql> select * from employee;
+-------+--------+--------+------+------------+----------+--------+
| empno | ename | job | mgr | hiredate | sal | deptnu |
+-------+--------+--------+------+------------+----------+--------+
| 1004 | 猪八戒 | 经理 | 1009 | 2001-04-02 | 29750.00 | 20 |
| 1006 | 猴子 | 经理 | 1009 | 2011-05-01 | 28500.00 | 30 |
| 1007 | 张飞 | 经理 | 1009 | 2011-09-01 | 24500.00 | 10 |
| 1008 | 诸葛亮 | 分析师 | 1004 | 2017-04-19 | 30000.00 | 20 |
| 1013 | 林俊杰 | 分析师 | 1004 | 2011-12-03 | 30000.00 | 20 |
| 1002 | 牛魔王 | 销售员 | 1006 | 2018-02-20 | 16000.00 | 30 |
| 1003 | 程咬金 | 销售员 | 1006 | 2017-02-22 | 12500.00 | 30 |
| 1005 | 后裔 | 销售员 | 1006 | 2011-09-28 | 12500.00 | 30 |
| 1010 | 韩信 | 销售员 | 1006 | 2018-09-08 | 15000.00 | 30 |
| 1012 | 安琪拉 | 文员 | 1006 | 2011-12-03 | 9500.00 | 30 |
| 1014 | 甄姬 | 文员 | 1007 | 2019-01-23 | 7500.00 | 10 |
| 1011 | 妲己 | 文员 | 1008 | 2018-05-23 | 11000.00 | 20 |
| 1001 | 小乔 | 文员 | 1013 | 2018-12-17 | 8000.00 | 20 |
+-------+--------+--------+------+------------+----------+--------+
13 rows in set (0.02 sec)
mysql> select a.dname,b.* from dept a left join employee b on a.deptnu=b.deptnu;
+--------+-------+--------+--------+------+------------+----------+--------+
| dname | empno | ename | job | mgr | hiredate | sal | deptnu |
+--------+-------+--------+--------+------+------------+----------+--------+
| 工程部 | 1004 | 猪八戒 | 经理 | 1009 | 2001-04-02 | 29750.00 | 20 |
| 销售部 | 1006 | 猴子 | 经理 | 1009 | 2011-05-01 | 28500.00 | 30 |
| 研发部 | 1007 | 张飞 | 经理 | 1009 | 2011-09-01 | 24500.00 | 10 |
| 工程部 | 1008 | 诸葛亮 | 分析师 | 1004 | 2017-04-19 | 30000.00 | 20 |
| 工程部 | 1013 | 林俊杰 | 分析师 | 1004 | 2011-12-03 | 30000.00 | 20 |
| 销售部 | 1002 | 牛魔王 | 销售员 | 1006 | 2018-02-20 | 16000.00 | 30 |
| 销售部 | 1003 | 程咬金 | 销售员 | 1006 | 2017-02-22 | 12500.00 | 30 |
| 销售部 | 1005 | 后裔 | 销售员 | 1006 | 2011-09-28 | 12500.00 | 30 |
| 销售部 | 1010 | 韩信 | 销售员 | 1006 | 2018-09-08 | 15000.00 | 30 |
| 销售部 | 1012 | 安琪拉 | 文员 | 1006 | 2011-12-03 | 9500.00 | 30 |
| 研发部 | 1014 | 甄姬 | 文员 | 1007 | 2019-01-23 | 7500.00 | 10 |
| 工程部 | 1011 | 妲己 | 文员 | 1008 | 2018-05-23 | 11000.00 | 20 |
| 工程部 | 1001 | 小乔 | 文员 | 1013 | 2018-12-17 | 8000.00 | 20 |
| 财务部 | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
+--------+-------+--------+--------+------+------------+----------+--------+
14 rows in set (0.04 sec)
mysql> select b.dname,a.* from employee a right join dept b on b.deptnu=a.deptnu;
+--------+-------+--------+--------+------+------------+----------+--------+
| dname | empno | ename | job | mgr | hiredate | sal | deptnu |
+--------+-------+--------+--------+------+------------+----------+--------+
| 工程部 | 1004 | 猪八戒 | 经理 | 1009 | 2001-04-02 | 29750.00 | 20 |
| 销售部 | 1006 | 猴子 | 经理 | 1009 | 2011-05-01 | 28500.00 | 30 |
| 研发部 | 1007 | 张飞 | 经理 | 1009 | 2011-09-01 | 24500.00 | 10 |
| 工程部 | 1008 | 诸葛亮 | 分析师 | 1004 | 2017-04-19 | 30000.00 | 20 |
| 工程部 | 1013 | 林俊杰 | 分析师 | 1004 | 2011-12-03 | 30000.00 | 20 |
| 销售部 | 1002 | 牛魔王 | 销售员 | 1006 | 2018-02-20 | 16000.00 | 30 |
| 销售部 | 1003 | 程咬金 | 销售员 | 1006 | 2017-02-22 | 12500.00 | 30 |
| 销售部 | 1005 | 后裔 | 销售员 | 1006 | 2011-09-28 | 12500.00 | 30 |
| 销售部 | 1010 | 韩信 | 销售员 | 1006 | 2018-09-08 | 15000.00 | 30 |
| 销售部 | 1012 | 安琪拉 | 文员 | 1006 | 2011-12-03 | 9500.00 | 30 |
| 研发部 | 1014 | 甄姬 | 文员 | 1007 | 2019-01-23 | 7500.00 | 10 |
| 工程部 | 1011 | 妲己 | 文员 | 1008 | 2018-05-23 | 11000.00 | 20 |
| 工程部 | 1001 | 小乔 | 文员 | 1013 | 2018-12-17 | 8000.00 | 20 |
| 财务部 | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
+--------+-------+--------+--------+------+------------+----------+--------+
14 rows in set (0.06 sec)
更多推荐
已为社区贡献3条内容
所有评论(0)