mysql leetcode打题记录

文章目录

因为上过的数据库课实在太水了,所以打算先在菜鸟教程/CSDN/leetcode先学一下基本语法,然后去做Stanford数据库原理的课程CS145。
小目标:把leetcode上不用钱的mysql的题先做一次,对数据库语法有个基本概念

完成度

9.10~9.11 13题

基本语法

LIMIT x:取前x行
DISTINCT:选取不重复的表项
OFFSET x:偏移x行
ORDER BY col:按col升序排列
ORDER BY col DESC:按col降序排列
AS tableName:改获得的表为新表名
value is NULL:判断值是否为空值,注意不能用=,而是is

高级语法

连接

参考链接

  • 内连接:和顺序无关,包括交叉连接,相等连接和不等连接等
  • 外连接:和顺序有关,包括左外连接和右外连接
    使用ON关键字进行关联

日期

DATEDIFF(DAY1, DAY2):DAY1-DAY2的天数

TIMEDIFF(TIME1,TIME2):TIME1-TIME2的时间段

函数

编写函数

编写函数名称,定义参数类型和名称,定义返回值的类型。BEGIN和END包住函数体,RETURN返回值。函数体内还可以进行变量定义和赋值等操作,以协助返回值的计算。

cpp 复制代码
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
DECLARE M INT;
SET M = N - 1;
  RETURN (
  	XXX
  );
END

ISFULL(table, table1, table2):如果table为空则返回table1,否则返回table2

聚合函数

HAVING和WHERE的区别

GROUP BY 将表项进行分组,HAVING筛选符合条件的表项

SELECT选择符合WHERE条件的表现

FROM -> WHERE -> GROUP BY -> HAVING -> SELECT 的字段 -> DISTINCT -> ORDER BY -> LIMIT
COUNT(col):计算表中col不为空的表项数量,添加DINSTINCT关键字可计算表中col不为空的不重复的表项数量
num IN(data):判断num是否在data中出现
num NOT IN(data):判断num是否不在data中出现

相关推荐
阿维的博客日记16 分钟前
图文并茂解释水平分表,垂直分表,水平分库,垂直分库
数据库·分库分表
huanxiangcoco19 分钟前
152. 乘积最大子数组
python·leetcode
wrx繁星点点1 小时前
事务的四大特性(ACID)
java·开发语言·数据库
希望有朝一日能如愿以偿2 小时前
力扣题解(飞机座位分配概率)
算法·leetcode·职场和发展
小小娥子2 小时前
Redis的基础认识与在ubuntu上的安装教程
java·数据库·redis·缓存
DieSnowK2 小时前
[Redis][集群][下]详细讲解
数据库·redis·分布式·缓存·集群·高可用·新手向
Espresso Macchiato2 小时前
Leetcode 3306. Count of Substrings Containing Every Vowel and K Consonants II
leetcode·滑动窗口·leetcode medium·leetcode 3306·leetcode周赛417
计算机学姐2 小时前
基于SpringBoot+Vue的高校运动会管理系统
java·vue.js·spring boot·后端·mysql·intellij-idea·mybatis
-XWB-2 小时前
【MySQL】数据目录迁移
数据库·mysql
老华带你飞2 小时前
公寓管理系统|SprinBoot+vue夕阳红公寓管理系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot·课程设计