MySQL基础之左连接、右连接、内连接、外连接

有2张表 t1 和 t2:

mysql> select * from t1;
+------+
| a    |
+------+
|    1 |
|    2 |
|    3 |
+------+
3 rows in set (0.00 sec)

mysql> select * from t2;
+------+------+
| a    | b    |
+------+------+
|    1 |  101 |
|    2 |  102 |
|    4 | NULL |
+------+------+
3 rows in set (0.00 sec)

左连接:

mysql> select * from t1 left join t2 on t1.a = t2.a;
+------+------+------+
| a    | a    | b    |
+------+------+------+
|    1 |    1 |  101 |
|    2 |    2 |  102 |
|    3 | NULL | NULL |
+------+------+------+
3 rows in set (0.00 sec)


右连接:

mysql> select * from t1 right join t2 on t1.a = t2.a;
+------+------+------+
| a    | a    | b    |
+------+------+------+
|    1 |    1 |  101 |
|    2 |    2 |  102 |
| NULL |    4 | NULL |
+------+------+------+
3 rows in set (0.00 sec)


内连接:

mysql> select * from t1  join t2 on t1.a = t2.a;
+------+------+------+
| a    | a    | b    |
+------+------+------+
|    1 |    1 |  101 |
|    2 |    2 |  102 |
+------+------+------+
2 rows in set (0.01 sec)

mysql> select * from t1 inner join t2 on t1.a = t2.a;
+------+------+------+
| a    | a    | b    |
+------+------+------+
|    1 |    1 |  101 |
|    2 |    2 |  102 |
+------+------+------+
2 rows in set (0.00 sec)

外连接:

mysql> select * from t1,t2;
+------+------+------+
| a    | a    | b    |
+------+------+------+
|    1 |    1 |  101 |
|    2 |    1 |  101 |
|    3 |    1 |  101 |
|    1 |    2 |  102 |
|    2 |    2 |  102 |
|    3 |    2 |  102 |
|    1 |    4 | NULL |
|    2 |    4 | NULL |
|    3 |    4 | NULL |
+------+------+------+
9 rows in set (0.00 sec)


再备注一次:连接方式,只和on相关,与where条件无关,where是在连接后的数据过滤时生效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值