mysql的left join
时间: 2023-08-08 20:11:33 浏览: 114
MySQL的LEFT JOIN是一种连接操作,用于获取左表的所有记录,即使右表没有对应匹配的记录。在LEFT JOIN中,系统会将左表与右表进行笛卡尔积运算,然后根据指定的条件进行匹配。如果左表中的记录在右表中没有对应的匹配记录,那么右表的字段值将会被设置为NULL。LEFT JOIN的语法通常是将主表的条件写在WHERE子句后面,辅表的条件写在ON子句后面。下面是一个示例:
假设我们有两个表,一个是goods表,包含goods_id、goods_name和category_id字段;另一个是goods_category表,包含category_id和category_name字段。我们想要获取goods表中的所有记录,并将其与goods_category表进行左连接,以获取每个商品的类别名称。可以使用以下SQL语句实现:
SELECT goods.goods_id, goods.goods_name, goods_category.category_name
FROM goods
LEFT JOIN goods_category ON goods.category_id = goods_category.category_id;
这个查询将返回一个结果集,其中包含goods表中的所有记录,以及与之匹配的goods_category表中的category_name字段。如果goods表中的某个记录在goods_category表中没有对应的匹配记录,那么category_name字段的值将会是NULL。
#### 引用[.reference_title]
- *1* *3* [MYSQL LEFT JOIN 详解](https://blog.csdn.net/qq_43806430/article/details/127297181)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [mysql left join用法详解](https://blog.csdn.net/weixin_43651049/article/details/127220011)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文