0
点赞
收藏
分享

微信扫一扫

Mysql left join & right join& jion in


1.创建测试表​​​​

mysql> select * from t1;
+------+--------+
| id | kemu |
+------+--------+
| 1 | yuwen |
| 2 | shuxue |
| 3 | yingyu |
+------+--------+
3 rows in set (0.00 sec)
mysql> select * from t2;
+------+-------+
| id | score |
+------+-------+
| 4 | 80 |
| 2 | 90 |
| 3 | 100 |
+------+-------+
3 rows in set (0.00 sec)

2.left join
顾名思义,就是“左连接”,表1左连接表2,以左为主,表示以表1为主,关联上表2的数据,查出来的结果显示左边的所有数据,然后右边显示的是和左边有交集部分的数据。如下:

mysql> select * from t1 left join t2 on t1.id=t2.id;
+------+--------+------+-------+
| id | kemu | id | score |
+------+--------+------+-------+
| 2 | shuxue | 2 | 90 |
| 3 | yingyu | 3 | 100 |
| 1 | yuwen | NULL | NULL |
+------+--------+------+-------+
3 rows in set (0.00 sec)

3.right join



“右连接”,表1右连接表2,以右为主,表示以表2为主,关联查询表1的数据,查出表2所有数据以及表1和表2有交集的数据,如下:​

mysql> select * from t2 left join t1 on t2.id=t1.id;
+------+-------+------+--------+
| id | score | id | kemu |
+------+-------+------+--------+
| 2 | 90 | 2 | shuxue |
| 3 | 100 | 3 | yingyu |
| 4 | 80 | NULL | NULL |
+------+-------+------+--------+
3 rows in set (0.00 sec)

4.join
join,其实就是“inner join”,为了简写才写成join,两个是表示一个的,内连接,表示以两个表的交集为主,查出来是两个表有交集的部分,其余没有关联就不额外显示出来,这个用的情况也是挺多的,如下

mysql> select * from t1 join t2 on t1.id=t2.id;
+------+--------+------+-------+
| id | kemu | id | score |
+------+--------+------+-------+
| 2 | shuxue | 2 | 90 |
| 3 | yingyu | 3 | 100 |
+------+--------+------+-------+
2 rows in set (0.00 sec)

版权声明:本文为博主原创文章,未经博主允许不得转载。

MYSQL

举报

相关推荐

0 条评论