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

【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');  

相关文章:

  • 在Spring Cloud中将Redis共用到Common模块
  • 健康管理系统的核心价值:降低成本,提升效率
  • leetcode701.二叉搜索树中的插入操作:迭代法利用有序性寻找空节点插入点
  • Java HashMap原理:高效键值存储的秘密
  • Spring AI(9)——MCP客户端
  • 4060显卡什么水平 4060显卡参数介绍
  • 【QT】理解QT机制之“元对象系统”
  • JavaSE:面向对象进阶之抽象类
  • [python] lock 解决线程安全问题
  • 信号与系统速成-1.绪论
  • Java面试八股(Java基础,Spring,SpringBoot篇)
  • json中对象转字符串和字符串转对象的方法
  • 【Linux系统移植】Cortex-A8 Linux系统移植(超详细)
  • Next.js 布局(Layout)与模板(Template)深度解析:从原理到实战
  • Vue模板语法
  • 大模型应用开发之评估
  • LeetCode 75. 颜色分类 - 双指针法高效解决(Java实现)
  • 【评测】推理和微调 “GTE文本向量-中文-通用领域-base”模型
  • [嵌入式实验]实验二:LED控制
  • 公司数据不泄露,DeepSeek R1本地化部署+web端访问+个人知识库搭建与使用
  • xampp 做网站/seo人员的相关薪资
  • 哪家网站做国际网购/有域名了怎么建立网站
  • 杭州有专业做网站小型服装厂吗/汽油价格最新调整最新消息
  • 付给招聘网站的费用怎么做分录/免费跨国浏览器
  • 招标网站哪个好用/百度服务中心人工客服电话
  • 室内设计工作室排名/宁波seo推广优化公司