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>
相关推荐
qq_3660862225 分钟前
sql 查询中关于 null 值判断的问题
数据库·sql
Java面试题总结1 小时前
mybatis插件
java·tomcat·mybatis
記億揺晃着的那天1 小时前
NAS + Tailscale + WebDAV:安全对接云服务器 Spring Boot
spring boot·tailscale·nas·webdav
金伟API10241 小时前
SQL Server基础学习笔记
笔记·学习
橘子海全栈攻城狮2 小时前
【最新源码】基于SpringBoot + Vue的超市管理系统的设计与实现D002
java·开发语言·vue.js·spring boot·后端·spring
砚凝霜2 小时前
软考网络工程师|第 1 章 计算机网络基础 完整备考笔记
网络·笔记·计算机网络
岑梓铭3 小时前
《考研408数据结构》第七章(7.1 查找:顺序查找、折半查找、分块查找)复习笔记
数据结构·笔记·考研·408·ds·查找
金伟API10243 小时前
常见的SQL面试题:经典50例
数据库·人工智能·笔记·sql·学习
DES 仿真实践家3 小时前
Plant Simulation SimTalk基础教程(3)SimTalk 变量与数据类型
开发语言·笔记·学习
拾贰_C3 小时前
【Java | SpringBoot | GlobalExceptionHandler】全局异常拦截器实现思路
java·开发语言·spring boot