赞
踩
在 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 查询语句
下面对代码进行逐行解释:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。