MySQL做题笔记

1 null

null不参与比较,是否等于null要单独列出

不能使用 = null , 应该使用 is null is not null

sql 复制代码
select name 
from Customer 
where referee_id <> 2 or  referee_id is null;

2 distinct

显示不重复的数据

3 char_length()

计算字符串长度

4 left join

包含左侧的所有行,即使右侧没有对应数据

5 cross join

交叉连接

join 等价于inner join,不用关联条件的join等价于cross join.

6 datediff()

计算日期差值

7 max()

8 avg()

9 round(x,2)

x保留两位小数

10 ifnull(a,b)

ifnull(a,b) a如果为null,就返回b

avg(action = 'confirmed') :

AVG(判断条件) = "判断条件"为True的记录数 / 总记录数

if(判断条件,1,0) : 满足返回1,不满足返回0

11 <> 替代 !=

12 mod(a,b) a%b

13 sum(a*b)

每一行分别计算a*b,然后计算和

14 count()

select count(1) from users : 统计user中非null的行数

select count(distinct player_id ) from activity:统计player_id不重复的行数

count()作用:

统计符合条件的记录中,指定的条件不为null的数量

效率:

count(*)>count(1)>count(主键字段)>count(字段)

如果是count(1):

1永远满足,结果是总行数

count(if(state = 'approved', 1, null)):

count()中也可包含表达式,统计行数时,不满足条件要设为null,而不是0

15 if()

if(rating < 3, 1, 0)

sum(if(rating < 3, 1, 0)) 统计所有rating<3的行数

16 date_format()

date_format(date, '%Y-%m') 格式化日期,按照2018-02形式显示

相关推荐
周杰伦的稻香15 小时前
MySQL中常见的慢查询与优化
android·数据库·mysql
坚持不懈的大白15 小时前
Leetcode学习笔记
笔记·学习·leetcode
中屹指纹浏览器16 小时前
双GAN网络驱动的动态指纹生成技术深度解析——原理、实现与抗检测优化
经验分享·笔记
JeffDingAI16 小时前
【Datawhale学习笔记】基于Gensim的词向量实战
人工智能·笔记·学习
·云扬·17 小时前
MySQL 常见存储引擎详解及面试高频考点
数据库·mysql·面试
何以不说话18 小时前
mysql 的主从复制
运维·数据库·学习·mysql
FakeOccupational18 小时前
【电路笔记 PCB】Altium Designer : AD使用教程+Altium Designer常见AD操作命令与流程
开发语言·笔记
Hello_Embed19 小时前
RS485 双串口通信 + LCD 实时显示(DMA+IDLE 空闲中断版)
笔记·单片机·学习·操作系统·嵌入式·freertos
小乔的编程内容分享站19 小时前
C语言指针相关笔记
c语言·笔记
逐步前行19 小时前
SolidWorks2024_装配体实例(桌下抽屉)
笔记