公司动态

MySQL夯实基础5:使用SQL语句实现单表查询, 条件查询, 聚合查询

📅 2026/8/29 4:59:04
MySQL夯实基础5:使用SQL语句实现单表查询, 条件查询, 聚合查询
接上一期完成对表TABLE进行DATA插入、删除、更新应用本节依然使用到操作语言Data Manipulation Language, 涉及到关键词SELECT– 使用最为频繁的SQL语句实现对一张表开展单表查询、条件查询、聚合查询。下一期预告: 使用SQL语句实现多表查询涉及连接查询、嵌套(子)查询、联合查询。SELECT语法结构SELECT[ALL|DISTINCT|DISTINCTROW]COLUMNSFROMTABLEORVIEWWHERE[CONDITIONS]GROUPBYCOLUMNSHAVING[CONDITIONS]ORDERBYCOLUMNS[ASC|DESC]LIMITNUMBER;单表查询单表查询是指仅涉及一张表的查询。#查找全体员工的姓名、性别和年龄要求给目标列表达式取别名。SELECTempNameAS姓名 sex 性别YEAR(NOW())-YEAR(birthday)年龄FROMtb_emp;#查找业绩排名第3至第5名的员工编号, 部门号和业绩SELECTempNo,deptNo,performanceFROMtb_perfORDERBYperformanceDESCLIMIT2,3;条件查询可以使用WHERE子句指定过滤条件从FROM子句的中间结果中选取适当的数据行实现数据的过滤。#查询籍贯是北京、上海的员工信息SELECT*FROMtb_empWHEREnativeIN(Beijing,Shanghai);#查询姓名中含“林”字的员工号姓名所在部门SELECTempNo,empName,empDeptFROMtb_empWHEREempNameLIKE%林%’聚合查询Step 1 认识聚合函数COUNT(), MAX(), MIN(), SUM(), AVG()#查询员工总人数(不忽略空值SELECTCOUNT(*)FROMtb_emp;#查询下了订单的客户总人数(避免重复计算客户人数SELECTCOUNT(DISTINCTcustomerNo)FROMtb_customer;#查询所有员工专业测试的平均成绩, 但只有当平均成绩大于80的情况下才输出.SELECTavg(score)AS平均分FROMtb_scoreHAVINGavg(score)80;Step 2 通过把聚合函数添加到一个带有GROUP BY…HAVING…分组子句的SELECT语句中来实现聚合查询。#查询有2类或以上测评分数大于88分的产品编号及对应使用业务部门数SELECTproductID,count(*)AS业务部门数FROMtb_scoreWHEREscore88GROUPBYproductIDHAVINGcount(*)2;总结SELECT及其6个子句(FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT)在查询一个表的基础运用.单表查询, 条件查询WHERE及应用到聚合函数的聚合查询GROUP BY.下一期预告: 使用SQL语句实现多表查询涉及连接查询、嵌套(子)查询、联合查询。