SQL 基础语法复习1. 查询 SELECT查询所有列SELECT*FROM表名;查询指定列SELECT列1,列2FROM表名;带条件查询SELECT列1,列2FROM表名WHERE条件;去重查询SELECTDISTINCT列名FROM表名;2. 条件 WHERE比较条件WHERE列名值WHERE列名值WHERE列名值WHERE列名值WHERE列名值WHERE列名值多个条件WHERE条件1AND条件2WHERE条件1OR条件2范围查询WHERE列名BETWEEN值1AND值2;集合查询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)SELECT列1,列2FROM另一个表WHERE条件;4. 删 DELETE删除指定记录DELETEFROM表名WHERE条件;删除所有记录DELETEFROM表名;清空表TRUNCATETABLE表名;区别DELETE 可以带 WHERE能删部分数据。 TRUNCATE 不能带 WHERE一次清空整张表。5. 改 UPDATE修改指定记录UPDATE表名SET列名新值WHERE条件;一次修改多个字段UPDATE表名SET列1新值1,列2新值2WHERE条件;注意UPDATE 和 DELETE 不写 WHERE会影响整张表。6. 排序 ORDER BY升序SELECT*FROM表名ORDERBY列名ASC;降序SELECT*FROM表名ORDERBY列名DESC;多个字段排序SELECT*FROM表名ORDERBY列1ASC,列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;多列分组SELECT列1,列2,COUNT(*)FROM表名GROUPBY列1,列2;规则SELECT 中的普通字段必须出现在 GROUP BY 中。 没有出现在 GROUP BY 中的字段必须放进聚合函数。9. 分组后筛选 HAVINGSELECT分组列,聚合函数(列)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. 连接查询旧式写法SELECT表1.列,表2.列FROM表1,表2WHERE表1.关联列表2.关联列;标准写法SELECT表1.列,表2.列FROM表1JOIN表2ON表1.关联列表2.关联列;三表连接SELECT*FROM表1JOIN表2ON表1.关联列表2.关联列JOIN表3ON表2.关联列表3.关联列;12. 子查询作为条件SELECT*FROM表名WHERE列名IN(SELECT列名FROM另一个表);比较平均值SELECT*FROMSC sc1WHEREGrade(SELECTAVG(Grade)FROMSC sc2WHEREsc2.Snosc1.Sno);EXISTSSELECT*FROM表1WHEREEXISTS(SELECT*FROM表2WHERE表2.关联列表1.关联列);NOT EXISTSSELECT*FROM表1WHERENOTEXISTS(SELECT*FROM表2WHERE表2.关联列表1.关联列);13. 集合查询并集SELECT列名FROM表1UNIONSELECT列名FROM表2;交集SELECT列名FROM表1INTERSECTSELECT列名FROM表2;差集SELECT列名FROM表1EXCEPTSELECT列名FROM表2;说明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
SQL 基础语法复习
发布时间:2026/6/9 7:32:47
SQL 基础语法复习1. 查询 SELECT查询所有列SELECT*FROM表名;查询指定列SELECT列1,列2FROM表名;带条件查询SELECT列1,列2FROM表名WHERE条件;去重查询SELECTDISTINCT列名FROM表名;2. 条件 WHERE比较条件WHERE列名值WHERE列名值WHERE列名值WHERE列名值WHERE列名值WHERE列名值多个条件WHERE条件1AND条件2WHERE条件1OR条件2范围查询WHERE列名BETWEEN值1AND值2;集合查询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)SELECT列1,列2FROM另一个表WHERE条件;4. 删 DELETE删除指定记录DELETEFROM表名WHERE条件;删除所有记录DELETEFROM表名;清空表TRUNCATETABLE表名;区别DELETE 可以带 WHERE能删部分数据。 TRUNCATE 不能带 WHERE一次清空整张表。5. 改 UPDATE修改指定记录UPDATE表名SET列名新值WHERE条件;一次修改多个字段UPDATE表名SET列1新值1,列2新值2WHERE条件;注意UPDATE 和 DELETE 不写 WHERE会影响整张表。6. 排序 ORDER BY升序SELECT*FROM表名ORDERBY列名ASC;降序SELECT*FROM表名ORDERBY列名DESC;多个字段排序SELECT*FROM表名ORDERBY列1ASC,列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;多列分组SELECT列1,列2,COUNT(*)FROM表名GROUPBY列1,列2;规则SELECT 中的普通字段必须出现在 GROUP BY 中。 没有出现在 GROUP BY 中的字段必须放进聚合函数。9. 分组后筛选 HAVINGSELECT分组列,聚合函数(列)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. 连接查询旧式写法SELECT表1.列,表2.列FROM表1,表2WHERE表1.关联列表2.关联列;标准写法SELECT表1.列,表2.列FROM表1JOIN表2ON表1.关联列表2.关联列;三表连接SELECT*FROM表1JOIN表2ON表1.关联列表2.关联列JOIN表3ON表2.关联列表3.关联列;12. 子查询作为条件SELECT*FROM表名WHERE列名IN(SELECT列名FROM另一个表);比较平均值SELECT*FROMSC sc1WHEREGrade(SELECTAVG(Grade)FROMSC sc2WHEREsc2.Snosc1.Sno);EXISTSSELECT*FROM表1WHEREEXISTS(SELECT*FROM表2WHERE表2.关联列表1.关联列);NOT EXISTSSELECT*FROM表1WHERENOTEXISTS(SELECT*FROM表2WHERE表2.关联列表1.关联列);13. 集合查询并集SELECT列名FROM表1UNIONSELECT列名FROM表2;交集SELECT列名FROM表1INTERSECTSELECT列名FROM表2;差集SELECT列名FROM表1EXCEPTSELECT列名FROM表2;说明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