SQL语句常用语法(开发场景中)

一、SQL语句常用小场景

1.查询某个表信息,表中某些字段为数据字典需要进行转义

sql 复制代码
SELECT
        t.ID,
        CASE
        WHEN t.DINING_TYPE = 1 THEN
        '早餐'
        WHEN t.DINING_TYPE = 2 THEN
        '午餐'
        WHEN t.DINING_TYPE = 3 THEN
        '晚餐'
        END AS diningTypeStr
from student t

2.联表查询语法

sql 复制代码
select si.* from student_info  si
left join classed_info ci on si.classed_id = ci.id 

3.每个xml中可以自定义一个查询语句头

sql 复制代码
  <sql id="query">
    select ID, ORDER_NO, WX_ORDER_NO, SCHOOL_ID, GRADE_ID, CLASSES_ID, STUDENT_ID, STUDENT_PHONE,
    DINING_TYPE, FOOD_TYPE, PAY_TYPE, "STATUS", CREATE_ORDER_DATE_TIME, PAY_DATE_TIME,
    IS_DELETE, CREATOR, CREATE_TIME, MODIFIER, MODIFY_TIME from student_info
  </sql>

4.自定义查询语句

sql 复制代码
<sql id="query">
        <if test="gradeId != null and gradeId != ''">
            and t.grade_id = #{gradeId, jdbcType=VARCHAR}
        </if>
        <if test="classesId != null and classesId != ''">
            and t.classes_id = #{classesId, jdbcType=VARCHAR}
        </if>
    </sql>

5.批量新增

sql 复制代码
<insert id="createList" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" open="begin" separator=";" close=";end;">
            INSERT INTO t_student_info (id, name)
            VALUES(#{item.id},#{item.name})
        </foreach>
    </insert>

点赞加关注,持续更新中!!!

相关推荐
这个DBA有点耶14 小时前
以为自增ID只是有空洞?聊聊双主架构下无声的“数据覆盖”
数据库·mysql·dba
陈布衣15 小时前
MySQL(1)_MySQL 5.7.21 Linux 安装笔记
linux·笔记·mysql
钱栈up15 小时前
内网全断,怎么核实高炉和烧结系统的数据库对接信息
数据库
weavecodes15 小时前
双层缓存与权限实时生效:织码在线教育系统的 Caffeine + Redis 设计
数据库
bksczm16 小时前
InnoDB 页结构详解:页类型、页头页尾、数据行与页目录
数据库·mysql
bksczm16 小时前
InnoDB 行格式详解:DYNAMIC / COMPACT / COMPRESSED / REDUNDANT
java·开发语言·数据库
余槐i17 小时前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
字节跳动开源17 小时前
OpenViking连接业务系统,LLM Wiki一键编译
数据库·开源
进击的荆棘18 小时前
MySQL——数据库基础
数据库·mysql
Decay__18 小时前
22_MySQL 运维自动化平台 —— 部署编排 + 监控 + 巡检 + 告警 + 工单闭环一体化
运维·数据库·sql·mysql·架构