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中出现

相关推荐
Hello.Reader2 小时前
Redis 延迟监控深度指南
数据库·redis·缓存
ybq195133454312 小时前
Redis-主从复制-分布式系统
java·数据库·redis
好奇的菜鸟5 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
tan180°5 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
满昕欢喜5 小时前
SQL Server从入门到项目实践(超值版)读书笔记 20
数据库·sql·sqlserver
DuelCode6 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
幽络源小助理6 小时前
SpringBoot基于Mysql的商业辅助决策系统设计与实现
java·vue.js·spring boot·后端·mysql·spring
Hello.Reader6 小时前
Redis 延迟排查与优化全攻略
数据库·redis·缓存
YuTaoShao7 小时前
【LeetCode 热题 100】48. 旋转图像——转置+水平翻转
java·算法·leetcode·职场和发展
简佐义的博客7 小时前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang