SQL的case语法
- 基础语法
- 数据准备
- 要求说明
- 代码实现
第一章 基础语法
基础语法
第01节 等值查询
SELECT
字段1,
字段2,
CASE 字段3
WHEN 值1 THEN 结果1
WHEN 值2 THEN 结果2
ELSE 结果3
END AS 别名
FROM
表名称;
第02节 范围查询
SELECT
字段1,
字段2,
CASE
WHEN 字段3>数据1 AND 字段3<=数据2 THEN 结果1
WHEN 字段3>数据2 AND 字段3<=数据3 THEN 结果2
ELSE 结果3
END AS 别名
FROM
表名称;
第二章 数据准备
第01节 相关SQL
-- 创建数据库db03 如果不存在则创建
CREATE DATABASE IF NOT EXISTS db03;
-- 使用数据库
USE db03;
-- 创建表,并且插入数据到数据库当中
DROP TABLE IF EXISTS student;
CREATE TABLE IF NOT EXISTS student (
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20),
age INT,
gender INT
);
-- 插入数据到数据库当中
INSERT INTO student VALUE (NULL,'张三',13, 1),(NULL,'李四',24, 1),
(NULL,'王五',35, 2),(NULL,'赵六',46, 2),(NULL,'钱七',57, 0);
-- 查询数据
SELECT * FROM student;
第02节 要求说明
要求说明
【要求一】
查询结果,根据性别的数据值,展示不同的结果
情况一. 性别为 1 展示结果为 "男"
情况二. 性别为 2 展示结果为 "女"
情况三. 性别为 0 展示结果为 "妖"
【要求二】
查询结果,根据性别的数据值,展示不同的结果
情况一. 年龄在 20岁以下, 展示结果 "少年"
情况二. 年龄在 20岁以上 40岁以下, 展示结果 "青年"
情况三. 年龄在 40岁以上 60岁以下, 展示结果 "中年"
情况四. 年龄在 60岁以上, 展示结果 "老年"
第03节 效果展示
效果图
第三章 代码实现
第01节 要求一
/*
【要求一】
查询结果,根据性别的数据值,展示不同的结果
情况一. 性别为 1 展示结果为 "男"
情况二. 性别为 2 展示结果为 "女"
情况三. 性别为 0 展示结果为 "妖"
*/
SELECT
NAME,
age,
CASE gender
WHEN 1 THEN '男'
WHEN 2 THEN '女'
ELSE '妖'
END AS sex
FROM
student;
第02节 要求二
/*
【要求二】
查询结果,根据性别的数据值,展示不同的结果
情况一. 年龄在 20岁以下, 展示结果 "少年"
情况二. 年龄在 20岁以上 40岁以下, 展示结果 "青年"
情况三. 年龄在 40岁以上 60岁以下, 展示结果 "中年"
情况四. 年龄在 60岁以上, 展示结果 "老年"
*/
SELECT
NAME,
gender,
CASE
WHEN age<=20 THEN "少年"
WHEN age>20 AND age<=40 THEN "青年"
WHEN age>40 AND age<=60 THEN "中年"
ELSE "老年"
END AS agelevel
FROM
student;