结构化查询语言 SQL
结构化查询语言英文全称是 Structured Query Language 英文简称就是 SQL。它是一种应用最为广泛的关系型数据库语言,该语言定了一操作关系型数据库的标准语法,几乎所有的关系型数据库管理系统都支持 SQL 语言.
在整个 SQL 语言中,又分为三大板块,分别是 DDL、DML 和 DCL
在查询语言中需要遵守一定的语法顺序或叫关键字顺序
Select 字段列表,如果要查询所有字段用*即可
↓
From 表名或数据源
↓
[where 条件表达式] 可以抽象理解成数据的定位
↓
[group by 字段列表] 在题目中出现每个,各个或不同的 xxx 时,一般会用到
↓
[having 条件表达式] 对分组后的数据进行筛选,having 后面可以跟字段名或函数,不能和 where 调换位置,一般只和 group by 一起出现(一般情况下,题目条件中需要函数出现的时候大概率会用到 groupby + having 组合)
↓
[order by 字段列表 [asc | desc]] 主要是对数值类型的列来进行排序显示
↓
[limit m,n] 截取显示从第 m+1 开始个,连续显示 n 个
Select ---- 查询的意思
条件表达式 ---- 比较, 逻辑
单表查询
-
查询员工表中的所有信息;
Select * from 员工表; -
查询员工表中的员工姓名和工资;
Select 姓名列,工资列 from 员工表; -
查询工号是 101 的员工姓名和岗位;
Select 姓名列,岗位列 from 员工表 where 工号 = 101; -
查询工资大于 5000 的员工姓名和对应工资;
Select 姓名列,工资列 from 员工表 where 工资 > 5000; -
查询年龄小于 24 且大于 18 的员工姓名和岗位;
Select 姓名列,岗位列 from 员工表 where 年龄 < 24 and 年龄 > -
查询岗位是销售或经理的员工姓名和工资
Select 姓名列,工资列 from 员工表 where 岗位 = 销售 or 岗位= 经理; -
查询不是销售部的员工姓名和部门名称
Select 姓名列,部门名称列 from 员工表 where 部门名称 != ‘销售部’; -
查询不是研发部也不是产品部的员工姓名和工资
Select 姓名列,工资列 from 员工表 where 部门名称 not in (‘研发部’ , ’产品部’); -
查询每个岗位有多少人
Select count(主键约束列或非空约束列) from 员工表 group by 岗位; -
查询不同部门不同岗位的平均工资
Select avg(工资) from 员工表 group by 部门列,岗位列; -
查询每个部门的平均工资,结果显示平均工资高于 2000 的部门编号和平均工资;
Select 部 门 编 号 ,avg( 工 资 ) from 员 工 表 group by 部 门 编 号 having avg(工资) > 2000; -
查询员工的姓名和工资,按照工资升序来排序
Select 姓名列,工资列 from 员工表 order by 工资列 [asc]; -
查询员工的姓名和工资,按照工资降序来排序
Select 姓名列,工资列 from 员工表 order by 工资列 desc; -
查询员工的姓名和工资,按照工资升序排序,显示前两个.
Select 姓名列,工资列 from 员工表 order by 工资列 [asc] limit[0,]2; -
查询员工的姓名和工资,显示工资最高的哪个人
Select 姓名列,工资列 from 员工表 order by 工资列 desc limit[0,]1;