6.查询数据语句 公式:SELECT 列名 FROM 表名 一、SELECT 列名(多列的话用逗号分隔),*代表查询所有列 1)查询单列数据时使用distinct关键字可以去掉重复数据,加到列名前 例如:SELECT DISTINCT job FROM emp; 2)查询数字型列时,可以根据查询需要对数据进行四则运算(加减乘除) 例如:SELECT ename,sal,sal+500 FROM emp; 3)可以使用as关键字给查询的列起别名 例如:SELECT ename,hiredate,12*sal+5000 AS 年薪 FROM emp; 4)可以使用sql中的聚合分组函数,对某些列数据数据实行统计查询,函数后面要加() max()统计最大值 min()统计最小值 例如:SELECT max(hiredate),min(hiredate) FROM emp; sum() 求和 avg()求平均值 例如:SELECT sum(sal),avg(sal) FROM emp; 日期型数据统计时越晚的日期数值越大,越早的日期数值越小,不要与年龄混为一谈 二、FROM 表名 [ where 条件 1.简单条件 列名+比较符号+数据 2.特殊条件 a. between and (两者之间,区间内) between后面是小数据,and后面是大数据 betwe and 常用于比较数字范围及日期范围 例如:入职时间介于2020-1-1和2020-12-31之间 SELECT ename,hiredate FROM emp WHERE hiredate BETWEEN '2020-1-1' AND '2020-12-31'; b. in 在多个数据之中查找几个 in(数据,数据...) 例如:职位是销售和职员 SELECT ename,job,sal FROM emp WHERE job IN ('销售','职员') c. like 模糊查询 部分匹配 比较的数据中必须使用%
通配符%(代表任意长度的任意内容)
%通配符三种用法:
‘数据%’ 以此数据开头;‘%数据’ 以此数据结尾;‘%数据%’ 有此数据即可
例如:“查找姓王的人”
SELECT ename
FROM emp
WHERE ename LIKE '王%';
“名字当中有福就行”
SELECT ename
FROM emp
WHERE ename LIKE '%福%';
d. is NULL 用于判断某列数据是空值
例如: SELECT *
FROM emp
WHERE deptno IS NULL;
e. not 它不能单独使用 需要和前四个配合使用
not between and
not in
not like
is not null
例如:
SELECT *
FROM emp
WHERE sal NOT BETWEEN 2000 AND 3000;
SELECT *
FROM emp
WHERE job NOT in ('经理','销售','职员');
SELECT *
FROM emp
WHERE ename NOT LIKE '%旭%';
SELECT *
FROM emp
WHERE deptno IS NOT NULL;
3.多条件的组合
a. and 并且语义 筛选的数据满足and组合中的所有条件
b. or 或者语义 筛选的数据满足or组合中的任意一个条件
例如:
查询工资大于2500并且职位是职员的员工信息
SELECT*
FROM emp
WHERE sal>2500 AND job='职员';
查询工资大于2500或者职位是职员的员工信息
SELECT*
FROM emp
WHERE sal>2500 OR job='职员';