sql笔记

1、如果...就...(相当于if...else...)
case
when 条件1 then 结果1 else 结果2
end

例子:

sql 复制代码
select c2 as "label"
c3 as "value"
--...如果就,相当于if-else
(CASE
--如果c4是null则返回',否则返回c4本来的值
WHEN C4 IS NULL THEN ''ELSE C4
--返回的值重命名为PARENT_CODE
END) PARENT CODE,
C3 DETAIL CODE,
--如果c6等于a,或者c6是null,或者c6是'',则返回false,否则返回true,并把结果重命名为disabled
(CASE WHEN c6 = A OR c6 IS NULL OR c6 = ''
THEN 'false' ELSE 'true' END) "disabled"
from test1
where c9004=A
and cl = '测试数据'
--不写默认正序排列ASC,从小到大
order by c3

2、映射,表里的字段映射(重命名)到java代码的实体类

sql 复制代码
-- resul tMap映射的容器
--SysMenu是实体类的名字
--SysMenuResult是其他地方调用映射集的标识
--result单个映射
--id是数据库表的主键
--property是java的实体类里的名字
--column是数据库表里的名字
<resultMap type="SysMenu" id="SysMenuResult">
<id property="menuId" column="menu_id">
<result property="menuName" column="menu_name" />
<result property="parentName" column="parent_name"/>
</ resultMap>

3、sql可以把公共的东西封装,其他地方调用,和include配套使用

sql 复制代码
<!-- 提取公共的字段列表,起个名字叫 User_Column_List -->
<sql id="User_Column_List">
    id, username, age, mobile, create_time
</sql>
sql 复制代码
<select id="getAllUsers" resultType="User">
    SELECT 
    <!-- 直接通过 refid 引用上面定义的字段片段 -->
    <include refid="User_Column_List"/> 
    FROM user
</select>
相关推荐
光依旧6 小时前
MCP实战手记系列(十):MCP Server高可用实战
spring boot·高可用·nginx负载均衡·redis哨兵·mcp·微服务容错·resilience4j熔断
yi0117 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表
志尊宝8 小时前
Vue3 零基础每日笔记(073):keep-alive 页面缓存实战——列表页返回不丢状态
vue.js·笔记·缓存·#vue #前端 #前端开发·#javascript·#vue.js
weixin_448119949 小时前
Datawhale Easy Data × AI:笔记1 已重做,看新的笔记
笔记
省钱兄--zs10 小时前
西安24小时自助健身房解决方案实战:系统开发与部署全流程指南
java·spring boot·系统架构·intellij-idea·需求分析
要开心吖ZSH10 小时前
MySQL 慢 SQL 排查操作手册-个人笔记版
java·笔记·sql·mysql·慢查询
咖啡忍者11 小时前
【SAP】程制造生产计划PP-PI(Production Planning for Process Industries)
笔记
ly768912 小时前
Spring Boot 集成 Elasticsearch 的生产实践:客户端选型、索引生命周期与批量写入容错
spring boot·elasticsearch·索引生命周期·java api client·批量写入
程序猿_极客12 小时前
【免费】分享一套优质的基于SpringBoot的服装商城管理系统的设计与实现(带可视化图表、协同过滤功能),源码+文档+视频详解(讲解)
java·spring boot·后端·服装商城管理系统
Titan202412 小时前
MySQL索引学习笔记
笔记·学习·mysql