mysql - MySQL中关于 'left join'的问题

标签 mysql sql left-join

我有两张表:

表A:表B:

id m1             id  m2
------            -------
1  a              1   a
2  b              2   c
3                 3   d

当我执行sql时:

select A.*,B.id as mid from A left join B on A.m1 = b.m2

我想得到结果:

id   m1   mid
--------------
1    a   1
2    b   
3            

但我得到:

  id   m1   mid
    --------------
    1    a   1
    2    b     

有人知道如何解决这个问题吗?

最佳答案

我在 fiddle 中得到了正确的结果.

| ID |     M1 |    MID |
|----|--------|--------|
|  1 |      a |      1 |
|  2 |      b | (null) |
|  3 | (null) | (null) |

它也适用于空字符串。您提到的结果行为违反了左连接。

关于mysql - MySQL中关于 'left join'的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19417691/

相关文章:

php - 无法在 Laravel 中复制 DATE_FORMAT 查询

mysql - 如何从子查询的外部查询执行多个连接和访问表

sql - 条件聚合数据库查询及其性能影响

php - 如何制作表单更新页面来更新数据库表记录,但同时包含多个记录?

sql - 如何按 a、b 进行分组并返回 b 的 N 行集

mysql - 3 个表格的限价/订单结果

MYSQL 存储意外增加(RDS)

MySQL GROUP BY DateTime +/- 3 秒

sql - 在 Postgresql 中以间隔添加日期作为参数的准备语句

r - 如何连接两个具有不同类型数据的数据?