当前位置: 首页 > news >正文

SQL 基础语法复习

SQL 基础语法复习

1. 查询 SELECT

查询所有列:

SELECT*FROM表名;

查询指定列:

SELECT1,2FROM表名;

带条件查询:

SELECT1,2FROM表名WHERE条件;

去重查询:

SELECTDISTINCT列名FROM表名;

2. 条件 WHERE

比较条件:

WHERE列名=WHERE列名<>WHERE列名>WHERE列名>=WHERE列名<WHERE列名<=

多个条件:

WHERE条件1AND条件2WHERE条件1OR条件2

范围查询:

WHERE列名BETWEEN1AND2;

集合查询:

WHERE列名IN(1,2,3);

模糊查询:

WHERE列名LIKE'%关键字%';

空值查询:

WHERE列名ISNULL;WHERE列名ISNOTNULL;

3. 增 INSERT

插入一整行:

INSERTINTO表名VALUES(1,2,3);

指定字段插入:

INSERTINTO表名(1,2,3)VALUES(1,2,3);

把查询结果插入表:

INSERTINTO表名(1,2)SELECT1,2FROM另一个表WHERE条件;

4. 删 DELETE

删除指定记录:

DELETEFROM表名WHERE条件;

删除所有记录:

DELETEFROM表名;

清空表:

TRUNCATETABLE表名;

区别:

DELETE 可以带 WHERE,能删部分数据。 TRUNCATE 不能带 WHERE,一次清空整张表。

5. 改 UPDATE

修改指定记录:

UPDATE表名SET列名=新值WHERE条件;

一次修改多个字段:

UPDATE表名SET1=新值1,2=新值2WHERE条件;

注意:

UPDATE 和 DELETE 不写 WHERE,会影响整张表。

6. 排序 ORDER BY

升序:

SELECT*FROM表名ORDERBY列名ASC;

降序:

SELECT*FROM表名ORDERBY列名DESC;

多个字段排序:

SELECT*FROM表名ORDERBY1ASC,2DESC;

说明:

ASC:升序,默认可以不写 DESC:降序

7. 聚合函数

统计个数:

SELECTCOUNT(*)FROM表名;

求和:

SELECTSUM(列名)FROM表名;

平均值:

SELECTAVG(列名)FROM表名;

最大值:

SELECTMAX(列名)FROM表名;

最小值:

SELECTMIN(列名)FROM表名;

常用聚合函数:

COUNT:统计数量 SUM:求总和 AVG:求平均值 MAX:求最大值 MIN:求最小值

8. 分组 GROUP BY

按某列分组统计:

SELECT分组列,聚合函数()FROM表名GROUPBY分组列;

例子:

SELECTXSBH,SUM(JE)AS销售总金额FROMXSCPGROUPBYXSBH;

多列分组:

SELECT1,2,COUNT(*)FROM表名GROUPBY1,2;

规则:

SELECT 中的普通字段,必须出现在 GROUP BY 中。 没有出现在 GROUP BY 中的字段,必须放进聚合函数。

9. 分组后筛选 HAVING

SELECT分组列,聚合函数()FROM表名GROUPBY分组列HAVING聚合条件;

例子:

SELECTXSBH,SUM(JE)AS销售总金额FROMXSCPGROUPBYXSBHHAVINGSUM(JE)>=10000;

区别:

WHERE:分组前筛选普通记录 HAVING:分组后筛选统计结果

10. 分组 + 排序

SELECT分组列,聚合函数()AS别名FROM表名GROUPBY分组列ORDERBY聚合函数()DESC;

例子:

SELECTXSBH,SUM(JE)AS销售总金额FROMXSCPGROUPBYXSBHORDERBYSUM(JE)DESC;

也可以用别名排序:

SELECTXSBH,SUM(JE)AS销售总金额FROMXSCPGROUPBYXSBHORDERBY销售总金额DESC;

11. 连接查询

旧式写法:

SELECT1.,2.FROM1,2WHERE1.关联列=2.关联列;

标准写法:

SELECT1.,2.FROM1JOIN2ON1.关联列=2.关联列;

三表连接:

SELECT*FROM1JOIN2ON1.关联列=2.关联列JOIN3ON2.关联列=3.关联列;

12. 子查询

作为条件:

SELECT*FROM表名WHERE列名IN(SELECT列名FROM另一个表);

比较平均值:

SELECT*FROMSC sc1WHEREGrade>=(SELECTAVG(Grade)FROMSC sc2WHEREsc2.Sno=sc1.Sno);

EXISTS:

SELECT*FROM1WHEREEXISTS(SELECT*FROM2WHERE2.关联列=1.关联列);

NOT EXISTS:

SELECT*FROM1WHERENOTEXISTS(SELECT*FROM2WHERE2.关联列=1.关联列);

13. 集合查询

并集:

SELECT列名FROM1UNIONSELECT列名FROM2;

交集:

SELECT列名FROM1INTERSECTSELECT列名FROM2;

差集:

SELECT列名FROM1EXCEPTSELECT列名FROM2;

说明:

UNION:合并并去重 INTERSECT:取共同部分 EXCEPT:前者有、后者没有

14. 常用完整顺序

SELECT列名,聚合函数()FROM表名WHERE普通条件GROUPBY分组列HAVING聚合条件ORDERBY排序列ASC/DESC;

执行理解:

FROM:从哪张表来 WHERE:先筛选记录 GROUP BY:再分组 HAVING:筛选分组后的结果 SELECT:显示结果 ORDER BY:最后排序

15. 记忆口诀

查:SELECT FROM WHERE 增:INSERT INTO VALUES 删:DELETE FROM WHERE 改:UPDATE SET WHERE 分组:GROUP BY 组后筛选:HAVING 排序:ORDER BY
http://www.cnnetsun.cn/news/2839715.html

相关文章:

  • 华硕笔记本终极性能调优:G-Helper完整使用指南
  • 华硕笔记本终极性能调校:G-Helper完整配置指南
  • 纯前端电商网页模板:首页+分类+商品页+购物车,开箱即用
  • Anthropic AI技术实践指南:从Claude模型部署到工程优化
  • T2M Mamba:文本到3D人体运动生成的突破性技术
  • 临床文本分类:小样本高效建模与词汇质量优化
  • 华硕笔记本性能调优神器G-Helper:告别臃肿,掌控极致性能
  • uniapp扫码新选择:集成阿里云mPaaS扫码插件,搞定带Logo码和暗光环境
  • 告别ViT单尺度!用Pyramid Vision Transformer (PVT_V1) 轻松构建多尺度特征金字塔
  • 从MIT Cheetah 3看腿足机器人的“感知-规划-控制”闭环:不用外部视觉怎么爬楼梯?
  • 告别Keil,用IAR for ARM 8.x给STM32F4建工程:从固件库搬运到一键调试的完整避坑记录
  • RT1064的FlexPWM配置避坑指南:为什么你的PWM输出不了?从故障保护到寄存器加载的实战解析
  • 如何将PDF秒变播客:Open NotebookLM终极指南,免费打造你的私人音频库
  • Airbnb房价季节性建模:四层嵌套结构与可解释预测
  • 告别重复造轮子:用普元EOS构件库快速搭建企业级J2EE应用
  • 别再死记硬背了!用Python SymPy库5分钟搞定所有三角函数高次幂积分
  • Vitis 2020.1下ZynqMP QSPI烧录翻车实录:从FSBL到时钟配置的保姆级避坑指南
  • FPGA调试不止有SignalTap:手把手教你用Quartus II ISSP给硬件“注入”测试信号
  • 实战复盘:我是如何用PHP Filter伪协议绕过死亡exit,拿下Webshell的
  • Tasking AI:以任务为单元的开源AI编程新范式
  • 图重构技术演进与PIFM核心思想解析
  • AI智能体反思机制(Reflection)实战指南:提升答案准确率与可解释性
  • 别再被‘php不是内部命令’卡住了!手把手教你配置Windows 11环境变量(以PHPStudy为例)
  • 分子表示学习与PCEvo方法在药物发现中的应用
  • 告别玄学调参:在Altium Designer里用SI仿真,提前搞定PCB走线的阻尼电阻
  • 从艺术家到开发者:我是如何用Blender Python API为游戏批量生成3D道具的
  • AR8035平替实战:用更便宜的YT8511 PHY芯片搞定千兆以太网设计
  • 度量空间离群嵌入技术:原理、算法与应用
  • Java校园二手交易系统源码:SSM框架+JSP前台+MySQL数据库,含后台管理与完整演示
  • 小程序毕业设计-基于springboot特色农产品交易系统基于springboot+微信小程序的云浮市特色农产品交易的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)