https://sqlmother.solargod.cn/
基础语法 - 条件分支
| SELECT |
| name, |
| CASE WHEN (name = '鸡哥') THEN '会' ELSE '不会' END AS can_rap |
| FROM |
| student; |
| 假设有一个学生表 `student`,包含以下字段:`name`(姓名)、`age`(年龄)。请你编写一个 SQL 查询,将学生按照年龄划分为三个年龄等级(age_level):60 岁以上为 "老同学",20 岁以上(不包括 60 岁以上)为 "年轻",20 岁及以下、以及没有年龄信息为 "小同学"。 |
| 返回结果应包含学生的姓名(name)和年龄等级(age_level),并按姓名升序排序。 |
answer
| select |
| name, |
| case |
| when (age > 60) then '老同学' |
| when (age > 20) then '年轻' |
| else '小同学' |
| end as age_level |
| from |
| student |
| order by |
| name asc; |
时间函数
| |
| SELECT DATE() AS current_date; |
| |
| |
| SELECT DATETIME() AS current_datetime; |
| |
| |
| SELECT TIME() AS current_time; |
函数 - 字符串处理
| |
| SELECT name, UPPER(name) AS upper_name |
| FROM employees; |
| |
| SELECT name, LENGTH(name) AS name_length |
| FROM employees; |
| |
| SELECT name, LOWER(name) AS lower_name |
| FROM employees; |
函数 - 聚合函数
- COUNT:计算指定列的行数或非空值的数量。
- SUM:计算指定列的数值之和。
- AVG:计算指定列的数值平均值。
- MAX:找出指定列的最大值。
- MIN:找出指定列的最小值。
查询进阶 - 子查询 - exists
| |
| SELECT name, total_amount |
| FROM customers |
| WHERE EXISTS ( |
| |
| SELECT 1 |
| FROM orders |
| WHERE orders.customer_id = customers.customer_id |
| ); |
exists not exists
查询进阶 - 组合查询
在 SQL 中,组合查询是一种将多个 SELECT 查询结果合并在一起的查询操作。
包括两种常见的组合查询操作:UNION 和 UNION ALL。
- UNION 操作:它用于将两个或多个查询的结果集合并, 并去除重复的行 。即如果两个查询的结果有相同的行,则只保留一行。
- UNION ALL 操作:它也用于将两个或多个查询的结果集合并, 但不去除重复的行 。即如果两个查询的结果有相同的行,则全部保留。
| SELECT name, age, department |
| FROM table1 |
| UNION |
| |
| SELECT name, age, department |
| FROM table2; |
查询进阶 - 开窗函数 - sum over
| SELECT |
| order_id, |
| customer_id, |
| order_date, |
| total_amount, |
| SUM(total_amount) OVER (PARTITION BY customer_id) AS customer_total_amount |
| FROM |
| orders; |
根据 customer_id 分组,然后求 total_amount 和,但是不合并 customer_id,而是显示每一个 customer_id
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)