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>
相关推荐
l1t8 分钟前
DeepSeek总结的AI 智能体应该用哪种语言搜索其记忆:SQL 还是 SPARQL?
数据库·人工智能·sql
2601_9611462028 分钟前
实验室用等离子表面处理设备处理汽车PP内饰件和PBT骨架的一点记录
笔记·汽车·设备
二十七日秋32 分钟前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
星恒随风1 小时前
Linux Socket TCP编程(二):逐文件重构多进程、多线程与线程池服务器,深入fork、pthread_create、popen和std::bind
linux·服务器·笔记·学习·tcp/ip
猿究院--Cu-Sn合金1 小时前
Spring Boot + DeepSeek 求职 Agent 实践:工具注册、多轮调用与简历 JD 对比
数据库·人工智能·spring boot·后端·deepseek
geovindu1 小时前
SQL Data Sampling and Approximation Techniques using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
hkNaruto2 小时前
【AI】深度学习、强化学习、深度强化学习基础概念笔记
人工智能·笔记·深度学习
MetaLite2 小时前
Spring Boot 加了 @Valid,嵌套参数为什么还没校验?
java·spring boot·后端
霸道流氓气质2 小时前
Lingua 语言检测库:n-gram 统计模型、置信度阈值调优与 Spring Boot 分层检测管道的生产级实战
java·spring boot·后端