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>
相关推荐
凤山老林14 小时前
Spring Boot 3.x AOT 编译实战:从原理、踩坑到生产落地
java·spring boot·后端
xian_wwq14 小时前
【学习笔记】-深度认知系列-第1讲-AI不是魔法——三句话讲清楚人工智能到底是什么
笔记·学习·深度认知
润乾软件14 小时前
Trae+SQLazy 编写复杂 SQL 实践
数据库·sql
M78佐菲14 小时前
c语言学习笔记:排序与查找方法整理
linux·c语言·笔记·学习·算法
用户9385156350714 小时前
掘金风格后端数据库设计实战:从用户表到分布式架构,一文搞定
后端·sql
呆呆小孩14 小时前
零基础学 MySQL(上):从建库建表到增删改查,一篇搭好 SQL 基础
android·sql·mysql
摇滚侠15 小时前
《SpringBoot 3:入门与应用实战》第 5 章 使用 Spring Boot 阅读笔记 9
java·spring boot·笔记
浪兎兎16 小时前
Docker 容器技术笔记
笔记·docker·容器
LuminousCPP16 小时前
数据结构‑二叉树(二):二叉堆从零实现|Heap结构设计 + 建堆优化 + 堆排序深度解析
c语言·数据结构·笔记·二叉树
噜~噜~噜~16 小时前
操作系统笔记-2.2.6 多处理机调度
笔记·操作系统