Mysql的JOIN用法详解-附带查询示例 在 sql 中,JOIN 是用于将多个表中的数据连接在一起的操作。它通过指定连接条件将两个或多个表中符合条件的行组合起来,产生一个新的结果集。 SQL
在 sql 中,JOIN
是用于将多个表中的数据连接在一起的操作。它通过指定连接条件将两个或多个表中符合条件的行组合起来,产生一个新的结果集。
SQL 中常见的 JOIN 类型包括 INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL OUTER JOIN。
下面详细介绍这些 JOIN 类型的用法:
SELECT 列名 FROM 表1 INNER JOIN 表2 ON 连接条件;
SELECT 列名 FROM 表1 LEFT JOIN 表2 ON 连接条件;
SELECT 列名 FROM 表1 RIGHT JOIN 表2 ON 连接条件;
SELECT 列名 FROM 表1 FULL OUTER JOIN 表2 ON 连接条件;
在连接条件中,可以使用比较操作符(如 =、<>、<、>)来指定连接的条件。连接条件可以是一个列的相等条件,也可以是多个列的组合条件。
需要注意的是,JOIN 操作可能会导致结果集中的行数变多,因此需要根据具体的业务需求来选择合适的 JOIN 类型。
附上一段项目实际使用的示例代码:
<select id="getPointDetail" resultType="com.****************"> SELECT hp.bk_id zdbh, spb.lng, spb.lat, spb.bdrq, spb.xzq, spb.ydlx, spb.ssdzdy as swdzdy, a.value as wljcdwlxmc, b.value as jcjlxmc, c.value as jcjjbmc, d.value as dxsllxmc, e.value as hsclxmc, f.value as ydlxmc, sgnp.* FROM hub_point hp LEFT JOIN sat_groundwater_network_point sgnp ON hp.hid = sgnp.hid left join sat_point_base spb on spb.hid = hp.hid left join (select * from sys_dict_item where fk_sort_code = '1019') a on sgnp.wljcdwlx = a.code left join (select * from sys_dict_item where fk_sort_code = '1017') b on sgnp.jcjlx = b.code left join (select * from sys_dict_item where fk_sort_code = '1016') c on sgnp.jcjjb = c.code left join (select * from sys_dict_item where fk_sort_code = '1013') d on sgnp.dxsllx = d.code left join (select * from sys_dict_item where fk_sort_code = '1012') e on sgnp.hsclx = e.code left join (select * from sys_dict_item where fk_sort_code = '1001') f on spb.ydlx = f.code <where> <if test="id != null and id != ''"> hp.hid = #{id} </if> </where> ORDER BY sgnp.load_dts DESC LIMIT 1 </select>
这段示例代码是一个sringboot项目maper映射的 SQL 查询语句
下面对代码进行逐行解释:
来源地址:https://blog.csdn.net/qq_61950936/article/details/131475806
--结束END--
本文标题: mysql的JOIN用法详解-附带查询示例
本文链接: https://lsjlt.com/news/416648.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0