频道栏目
首页 > 资讯 > SQL Server > 正文

将SQL查询出来的数据作为一个张“表",之后根据这张“表”在进行条件查询的实例分析

18-06-06        来源:[db:作者]  
收藏   我要投稿

SQL语句演变一:

SELECT tA.a_code, tA.b_code, tA.c_code, tA.a_name, tA.a_time, 
	   tB.b_clazz, tC.c_model, tD.d_good	
FROM TableA tA
LEFT JOIN TableB tB ON tA.a_code = tB.a_code  
LEFT JOIN TableC tC ON tA.b_code = tC.b_code	 
LEFT JOIN TableD tD ON tA.c_code = tD.c_code	

SQL语句演变二:

SELECT Tab.a_code, Tab.b_code, Tab.c_code, Tab.a_name, Tab.a_time, Tab.b_clazz, Tab.c_model, Tab.d_good
FROM	
(SELECT tA.a_code, tA.b_code, tA.c_code, tA.a_name, tA.a_time, 
	   tB.b_clazz, tC.c_model, tD.d_good	
FROM TableA tA
LEFT JOIN TableB tB ON tA.a_code = tB.a_code  
LEFT JOIN TableC tC ON tA.b_code = tC.b_code	 
LEFT JOIN TableD tD ON tA.c_code = tD.c_code) Tab

SQL语句演变三:

Mybatis中的动态sql,条件查询,模糊匹配。

<select id="findMsg" resultMap="某一实体类对应的mapper.xml映射名">  
SELECT Tab.a_code, Tab.b_code, Tab.c_code, Tab.a_name, Tab.a_time, Tab.b_clazz, Tab.c_model, Tab.d_good  
FROM      
    (SELECT tA.a_code, tA.b_code, tA.c_code, tA.a_name, tA.a_time,   
           tB.b_clazz, tC.c_model, tD.d_good      
    FROM TableA tA  
    LEFT JOIN TableB tB ON tA.a_code = tB.a_code    
    LEFT JOIN TableC tC ON tA.b_code = tC.b_code       
    LEFT JOIN TableD tD ON tA.c_code = tD.c_code) Tab     
<where>  
    <if test=" a_code != '' and a_code != null ">  
        Tab.a_code LIKE CONCAT('%', #{a_code}, '%')  
    </if>  
    <if test=" b_code != '' and b_code != null ">  
        AND Tab.b_code LIKE CONCAT('%', #{b_code}, '%')  
    </if>  
    <if test=" c_model !='' and c_model != null ">  
        AND Tab.c_model LIKE CONCAT('%', #{c_model}, '%')  
    </if>  
<where>  
  
</select>  
相关TAG标签
上一篇:数据库基础知识之MongoDB的安装使用Ubuntu
下一篇:redis.conf配置选项列举说明
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站