当前位置: 首页 > article >正文

【SQL】关键字

ORDER BY

ORDER BY(排序) 语句可以按照一个或多个列的值进行升序(ASC)或降序(DESC)排序。

MAX / MIN

MAX() 函数返回一组值中的最大值。这个函数常用于数字字段,但也可以用于文本字段来找出按字典顺序最后的元素。
与 MAX() 函数相对的是 MIN() 函数,它返回一组值中的最小值。

AS

为字段起别名

COUNT

对某个限定条件下的字段计数
COUNT(字段名)

AVG

对限定条件下的某个字段计算平均值
AVG(字段名)

ROUND

限定浮点数精度

GROUP BY

GROUP BY 语句根据一个或多个列对结果集进行分组。

在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。

SELECT column1, aggregate_function(column2)
FROM table_name
WHERE condition
GROUP BY column1;

GROUP BY 后跟多个分组时,分组之间用逗号连接

HAVING

类似WHERE, 但是WHERE不可以使用搜索的聚合结果,HAVING可以使用

例如,where条件中不

select avg(a) as a from table_a where id = 1;

INNER JOIN

inner join表示内连接,用于将两个表中符合条件的数据进行匹配。在MySQL中,inner join通常会使用on子句来指定连接条件。
关键字 JOIN、INNER JOIN的含义是一样的,都表示内连接

SELECT * FROM employee INNER JOIN department ON employee.department_id = department.id;

多个表join时,每两个表需要用ON限定连接的字段。

子查询

一个查询的查询条件是另一个查询的查询结果
嵌套在其他SQL查询中的查询

WHERE IN:
查询在graders表中有记录的学生的名字
先从grades中查询所有有成绩记录的学生的id,通过id再从表students中查询学生的名字

SELECT name
FROM students
WHERE id IN (SELECT student_id FROM grades);

去重

关键字 DISTINCT
例如:从表A 表B中计算每个device提问的平均数,因为一个device可以提多个问题,所以需要对device进行去重。

select up.university, round(count(qpd.question_id) / count(DISTINCT qpd.device_id), 4) as avg_answer_cnt from  user_profile as up inner join question_practice_detail as qpd on up.device_id = qpd.device_id group by up.university order by up.university;

UNION 与 UNION ALL

union 用于把来自多个select 语句的结果组合到一个结果集合中, 结果会去重
union功能与 union 相同,结果不去重
例如

select  column,......from table1union [all]select  column,...... from table2

day month year

YEAR函数用于返回date中的年份值

语法结构

YEAR(date)

-- 2022
SELECT YEAR('2022-05-23');  
SELECT YEAR('2022-05-23 15:30:00'); 

MONTH函数用于返回date中的月份值

语法结构

MONTH(date)

-- 5
SELECT MONTH('2022-05-23');  
SELECT MONTH('2022-05-23 15:30:00');  

WEEK函数用于返回date中的星期数

语法结构

WEEK(date)

-- 21
SELECT WEEK('2022-05-23');
SELECT WEEK('2022-05-23 15:30:00');

DAY函数用于返回date中的日期值

语法结构

DAY(date)

-- 23
SELECT DAY('2022-05-23');  
SELECT DAY('2022-05-23 15:30:00');  
http://www.lryc.cn/news/2394452.html

相关文章:

  • 第一节 51单片机概述
  • Google car key:安全、便捷的汽车解锁新选择
  • 720全景展示:VR全景的技术原理及应用
  • 定制一款国密浏览器(13):预置国密根证书到浏览器
  • PowerBI企业运营分析——线性回归销售预测
  • 大模型运维过程中常见的一些操作
  • C# 关于闭包与多线程结合使用
  • LangFuse:开源LLM工程平台的革新实践
  • 新视角!经济学顶刊QJE用文本分析探究新技术扩散
  • 微信小程序返回上一页监听
  • 5月31日day41打卡
  • “粽”览全局:分布式系统架构与实践深度解析(端午特别版)
  • STM32G4 电机外设篇(一) GPIO+UART
  • 代理IP在云计算中的应用:技术演进与场景实践
  • Lua 的速度为什么比 Python 快
  • 【iOS】方法交换
  • 跑步相关术语解释
  • 数据结构:线性表的基本操作与链式表达
  • C++:设计模式--工厂模式
  • 【前端优化】使用speed-measure-webpack-plugin分析前端运行、打包耗时,优化项目
  • 国产化Excel处理组件Spire.XLS教程:如何使用 C# 将 Excel(XLS 或 XLSX)文件转换为 PDF
  • B3623 枚举排列(递归实现排列型枚举)
  • vue-08(使用slot进行灵活的组件渲染)
  • Fine Pruned Tiled Light Lists(精细删减的分块光照列表)
  • 2025-5-29-C++ 学习 字符串(3)
  • openresty+lua+redis把非正常访问的域名加入黑名单
  • 使用Mathematica绘制随机多项式的根
  • IEEE PRMVAI 2025 WS 26:计算机视觉前沿 Workshop 来袭!
  • 360浏览器设置主题
  • 最卸载器——Geek Uninstaller 使用指南