mysql 左连接 加号_mysql 左连接

即使你认为自己已对 MySQL 的 LEFT JOIN 理解深刻,但我敢打赌,这篇文章肯定能让你学会点东西!

ON 子句与 WHERE 子句的不同

一种更好地理解带有 WHERE ... IS NULL 子句的复杂匹配条件的简单方法

Matching-Conditions 与 Where-conditions 的不同

关于 “A LEFT JOIN B ON 条件表达式” 的一点提醒

ON条件(“A LEFT JOIN B ON 条件表达式”中的ON)用来决定如何从 B 表中检索数据行。

如果 B 表中没有任何一行数据匹配 ON 的条件,将会额外生成一行所有列为 NULL 的数据

在匹配阶段 WHERE 子句的条件都不会被使用。仅在匹配阶段完成以后,WHERE 子句条件才会被使用。它将从匹配阶段产生的数据中检索过滤。

让我们看一个 LFET JOIN 示例:

mysql> CREATE TABLE `product` (

`id` int(10) unsigned NOT NULL auto_increment,

`amount` int(10) unsigned default NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1

mysql> CREATE TABLE `product_details` (

`id` int(10) unsigned NOT NULL,

`weight` int(10) unsigned default NULL,

`exist` int(10) unsigned default NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1

mysql> INSERT INTO product (id,amount)

VALUES (1,100),(2,200),(3,300),(4,400);

Query OK, 4 rows affected (0.00 sec)

Records: 4 Duplicates: 0 Warnings: 0

mysql> INSERT INTO product_details (id,weight,exist)

VALUES (2,22,0),(4,44,1),(5,55,0),(6,66,1);

Query OK, 4 rows affected (0.00 sec)

Records: 4 Duplicates: 0 Warnings: 0

mysql> SELECT * FROM product;

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

| id | amount |

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

| 1 | 100 |

| 2 | 200 |

| 3 | 300 |

| 4 | 400 |

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

4 rows in set (0.00 sec)

mysql> SELECT * FROM product_details;

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

| id | weight | exist |

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

| 2 | 22 | 0 |

| 4 | 44 | 1 |

| 5 | 55 | 0 |

| 6 | 66 | 1 |

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

4 rows in set (0.00 sec)

mysql> SELECT * FROM product LEFT JOIN product_details

ON (produc

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值