SQL 学习笔记

SELECT column1 , column 2 FROM table_name:查找某列

  • DISTINCT:找到的值不同

  • WHERE:条件筛选,文本需要加 ' ',AND、OR:多个条件、WHERE NOT + 条件或 WHERE 条件 NOT、IS NULL \ IS NOT NULL

  • ORDER BY:对结果进行升排列,末尾 + ASC \ DESC 升序 \ 降序排列

  • TOP:指定返回的记录数(MySQL中是 LIMIT加在最后)


INSERT INTO table_name (column 1, column 2) VALUES (value 1, value 2):插入一个新记录


UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition:修改表中现有记录


DELETE FROM table_name WHERE condition:删除某个存在的记录


聚合函数,在 GROUP BY 后才计算

MIN、MAX

AS:给返回的列一个名称(可以省略),FROM Customer A 或者 FROM Customer AS A

COUNT:返回符合条件的行数,DISTINCT:忽视重复的

SUM

AVG

LIKE:% 表示随机个,_ 表示一个,abc:abc 中任意一个,!abc:除了 abc

IN:在 WHERE 里指定多个值、NOT IN

BETWEEN AND

CONCAT:包含多个值的新一列


JOIN:根据两个表或多个表中的相关列进行判断,合并两个表或多个表中的行

INNER JOIN:选择两个表中匹配的记录、

LEFT JOIN:返回所有左边的( FROM 后面的 ),和匹配的右边的

RIGHT JOIN

UNION:合并两个过多过 SELECT 的结果集,默认不包含重复的, + ALL 包含重复


GROUP BY:将查询结果中具有相同值的行合并为一组,然后对每一组进行聚合计算(如求和、计数、平均值等)

HAVING:等同 WHERE( 区别:WHERE 在GROUP BY 之前过滤行,HAVING:在分组之后过滤组 ),位置在 GROUP BY 后,多了一个功能:可以和聚合函数一起使用

EXIST:测试子查询中是否存在某些记录,位置在 WHERE 后

operater + ANY、ALL + 子查询 :与子查询的结果集进行比较

SELECT INTO:复制表到一张新表中,+ IN:到新的数据库的新表中

SELECT * INTO newtable

FROM oldtable

INSERT INTO SELECT:向已有表增加记录

INSERT INTO table2

SELECT * FROM table1

WHERE condition;


CASE:类似 if - then - else

CASE

WHEN condition1 THEN result1

WHEN condition2 THEN result2

WHEN conditionN THEN resultN

ELSE result

END;

相关推荐
wp123_138 分钟前
【硬件选型笔记】TONEVEE MVL4020-1R2M 与Coilcraft XAL4020-122MEC 大电流功率电感参数深度解析
笔记
aaaameliaaa1 小时前
指针之总结
c语言·笔记·算法
AAA@峥1 小时前
CentOS7 源码编译安装 MySQL5.7|SQL 基础操作 + 备份恢复完整实战
运维·数据库·sql·centos
caimouse2 小时前
protoc-gen-c 支持 proto3 `optional` 关键字修改记录
c语言·学习
撩得Android一次心动2 小时前
Linux编程笔记3【个人用】
linux·笔记
憧憬成为java架构高手的小白2 小时前
黑马八股--中间件学习之MQ(RabbitMQ)
学习·中间件
撩得Android一次心动3 小时前
Linux编程笔记4【个人用】
linux·笔记·学习
user-猴子4 小时前
让网页“活”过来 —— 用AI打造会自主学习的动态知识图谱
人工智能·学习·知识图谱
网络工程小王4 小时前
【HCIE-AI】10.pytorch模型迁移分析
人工智能·学习·华为·llama
xqqxqxxq5 小时前
技术笔记:上下文工程(Context Engineering)心得总结(李博杰《深入理解 AI Agent》2.1,2.2观后总结)
人工智能·笔记