mysql 常用查询(一)

本文详细介绍了SQL中的CASE WHEN语句使用方法,并对比了IF ELSE的适用场景。同时,还展示了MySQL中的常见函数,如字符串合并、子表ID拼接等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-- 1:case when --
SELECT
    CASE
    WHEN (admin_id IS NULL) THEN '无创建人'
    WHEN (admin_id = 0) THEN '管理员'
    ELSE admin_id
    END AS admin_id
FROM hsb_investor
-- 2:if else 是不能在select 语句中使用的。只能用来控制sql程序的流程。像你这种情况只能用case的。或者采用以下的方式
SELECT IF(admin_id=0,'管理员','非管理员') AS admin_id FROM hsb_investor

SELECT IFNULL(admin_id,'无数据') AS admin_id FROM hsb_investor

SELECT a.id AS investorJobId,
IF (a.end_date IS NULL,'至今',DATE_FORMAT(a.end_date,'%Y-%m')) AS endDate
FROM hsb_investor_job a
WHERE a.enable_flag = 1
AND a.investor_id = 67
ORDER BY a.create_time DESC


-- 3:decode方法(mysql中是加密和oracle中是不一样的) -------------

-- 4:mysql常用函数 --
    -- 字符串合并
    SELECT CONCAT(id,'-',NAME) AS id_name FROM hsb_investor
    -- 子表所有的ID拼接

  SELECT *,
    (SELECT GROUP_CONCAT(id) FROM hsb_investor_job WHERE investor_id = investor.id) AS investorjob_ids
    FROM hsb_investor AS investor

  SELECT a.*,
    GROUP_CONCAT(b.id)
    FROM hsb_investor AS a
    LEFT JOIN hsb_investor_job AS b
    ON a.id = b.investor_id
    GROUP BY a.id

转载于:https://www.cnblogs.com/goldberg/p/5477306.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值