mysql左连和内连_mysql左连接,右连接,内连,全连

mysql> #首先建立两张表A,B,查看下表结构

mysql> desc A;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| a1    | int(11)     | NO   | PRI | NULL    |       |

| a2    | varchar(22) | YES  |     | NULL    |       |

| a3    | int(11)     | YES  |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

3 rows in set (0.00 sec)

mysql> desc B;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| b1    | int(11)     | NO   | PRI | NULL    |       |

| b2    | varchar(22) | YES  |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

2 rows in set (0.00 sec)

mysql> #查询下A表和B表的数据

mysql> select * from A;

+----+------+------+

| a1 | a2   | a3   |

+----+------+------+

|  1 | math |   95 |

|  2 | c    |   90 |

|  3 | java |   80 |

+----+------+------+

3 rows in set (0.00 sec)

mysql> select * from B;

+----+----------+

| b1 | b2       |

+----+----------+

|  1 | zhangsan |

|  2 | lisi     |

|  4 | wangwu   |

+----+----------+

3 rows in set (0.00 sec)

mysql> #接下来 演示左连接查询

mysql> select A.* ,B.* from A left outer join B on(A.a1=B.b1);

+----+------+------+------+----------+

| a1 | a2   | a3   | b1   | b2       |

+----+------+------+------+----------+

|  1 | math |   95 |    1 | zhangsan |

|  2 | c    |   90 |    2 | lisi     |

|  3 | java |   80 | NULL | NULL     |

+----+------+------+------+----------+

3 rows in set (0.00 sec)

mysql> #下面是右连接查询

mysql> select A.* ,B.* from A right outer join B on(A.a1=B.b1);

+------+------+------+----+----------+

| a1   | a2   | a3   | b1 | b2       |

+------+------+------+----+----------+

|    1 | math |   95 |  1 | zhangsan |

|    2 | c    |   90 |  2 | lisi     |

| NULL | NULL | NULL |  4 | wangwu   |

+------+------+------+----+----------+

3 rows in set (0.00 sec)

mysql> #下面是内连查询

mysql> select A.*,B.* from A inner join B on(A.a1=B.b1);

+----+------+------+----+----------+

| a1 | a2   | a3   | b1 | b2       |

+----+------+------+----+----------+

|  1 | math |   95 |  1 | zhangsan |

|  2 | c    |   90 |  2 | lisi     |

+----+------+------+----+----------+

2 rows in set (0.00 sec)

mysql> #因为mysql里没有full outer join,因此用union关键字实现全连接查询

mysql> select A.* ,B.* from A left outer join B on(A.a1=B.b1) union select A.* ,B.* from A right outer join B on(A.a1=B.b1);

+------+------+------+------+----------+

| a1   | a2   | a3   | b1   | b2       |

+------+------+------+------+----------+

|    1 | math |   95 |    1 | zhangsan |

|    2 | c    |   90 |    2 | lisi     |

|    3 | java |   80 | NULL | NULL     |

| NULL | NULL | NULL |    4 | wangwu   |

+------+------+------+------+----------+

4 rows in set (0.00 sec)

mysql> #演示完毕

mysql> notee;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值