有需要的,可以点击这里下载,test.sql
主要包含ename名字,job职务,hiredate入职时间,sal薪资等字段
SELECT 字段名 FROM 表名;
SELECT * FROM 表名;
查询全部字段信息:
SELECT 字段名 AS '修改后的名字' FROM emp;
利用AS 加上一个新的名字来实现改名
AS可以省略,直接在后面指定新的名字,注意一定别忘了 ’ ’ 号
SELECT 字段(进行算数运算) FROM emp;
使用WHERE进行条件的查询
可以用作条件的运算符:
关系运算符 | 功能 |
---|---|
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
= | 等于 |
<> 或 != | 不等于 |
逻辑运算符 | 功能 |
---|---|
AND 或 && | 并且(多个条件同时成立) |
OR 或 || | 或者(多个条件任意成立一个) |
NOT 或 ! | 非,不是 |
其他 | 功能 |
---|---|
BETWEEN…AND… | 在某个范围之间(含最小、最大值) |
IN(…) | 在in之后的列表中的值,多选一 |
LIKE | 模糊匹配(_匹配单个字符,%匹配任意个字符) |
IS [NOT] NULL | 是 NULL |
注意其他中的运算符。
SELECT * FROM 表名 WHERE 字段名 关系 数值
查询所有名称的最后一个字母为S的人的姓名和薪资
使用%进行指定字母的查询;LIKE模糊查询
统计函数
函数名 | 作用 |
---|---|
MAX(column) | 返回某列的最低值(没有则返回NULL) |
MIN(column) | 返回某列的最高值(没有则返回NULL) |
COUNT(column) | 返回某列的行数(不包括 NULL 值) |
COUNT(*) | 返回被选列行数(包括NULL) |
SUM(column) | 求和 |
AVG(column) | 求平均值 |
SELECT COUNT(查询名) FROM emp
计算所有job等于SALESMAN的员工的薪资之和,并改名
SELECT 字段名 FROM 表名 GROUP BY 分组字段 (可选:)HAVING[分组后条件]
出错:SELECT ename,MAX(sal) FROM emp; --> 出现了ename
出错:SELECT sal FROM emp GROUP BY job; —>sal不对应job
显示非销售人员(salesman)工作名称以及从事同一工作的员工的月工资的总和,并且要满足从事同一工作的员工的月工资合计大于5000。
语法
SELECT 字段名 FROM 表名 ... ORDER BY 排序字段名 [ASC|DESC],[排序字段名 [ASC|DESC]];
语法说明:
ASC
表示字段按升序排序;DESC
表示字段按降序排序。其中ASC
为默认值。特点
ORDER BY子句一般放到查询语句的最后面,LIMIT字句除外。
当排序的字段中存在空值时,ORDER BY 会将该空值作为最小值来对待。
ORDER BY 指定多个字段进行排序时,MySQL 会按照字段的顺序从左到右依次进行排序。
注意:在对多个字段进行排序时,排序的第一个字段必须有相同的值,才会对第二个字段进行排序。如果第一个字段数据中所有的值都是唯一的,MySQL 将不再对第二个字段进行排序。
按工作职位进行分组,查看每个工作职位的人数,工作职位按升序排列
语法
SELECT 字段名 FROM 表名 LIMIT 起始索引,查询记录数;
特点