力扣 高频 SQL 50 题(基础版)学习笔记(1)
password
URL
type
status
date
slug
summary
tags
category
icon
最近在写leetcode,看到
 
MySQL 使用三值逻辑 —— TRUE, FALSE 和 UNKNOWN。任何与 NULL 值进行的比较都会与第三种值 UNKNOWN 做比较。这个“任何值”包括 NULL 本身!这就是为什么 MySQL 提供 IS NULL 和 IS NOT NULL 两种操作来对 NULL 特殊判断。
 
我们可以在 SELECT 语句中使用 DISTINCT 关键字来从表 Views 中检索唯一元素
通过使用 ORDER BY 关键字实现按升序排序结果表
 
char_length(str)
(1)计算单位:字符
(2)不管汉字还是数字或者是字母都算是一个字符
length(str)
(1)计算单位:字节
(2)utf8编码:一个汉字三个字节,一个数字或字母一个字节。
(3)gbk编码:一个汉字两个字节,一个数字或字母一个字节。
 
 
notion image
LEFT JOIN: 顾名思义,就是“左连接”,表1左连接表2,以左为主,表示以表1为主,关联上表2的数据,查出来的结果显示左边的所有数据,然后右边显示的是和左边有交集部分的数据
RIGHT JOIN: “右连接”,表1右连接表2,以右为主,表示以表2为主,关联查询表1的数据,查出表2所有数据以及表1和表2有交集的数据。
JOIN: join,其实就是“inner join”,为了简写才写成join,两个是表示一个的,内连接,表示以两个表的交集为主,查出来是两个表有交集的部分,其余没有关联就不额外显示出来,这个用的情况也是挺多的。
 
GROUP BY是SELECT语句的可选子句,用于根据一个或多个字段对查询结果进行分组,它减少了结果集中的行数
 
 
CROSS JOIN 交叉联结
使用交叉联结会将两个表中所有的数据两两组合。如下图
notion image
 
认识一下 DATEDIFF 函数,可以计算两者的日期差
 
 
ROUND 函数 对某个数值(字段)保留指定小数位数(四舍五入)
语法 round(value, n)
AVG 函数返回数值列的平均值。NULL 值不包括在计算中。
 
IF函数
IF(expr1,expr2,expr3) expr1 的值为 TRUE,则返回值为 expr2;expr1 的值为FALSE,则返回值为 expr3,这个类似其他语言if(a > b ? 1 : 0)这种