简单的SQL语句
SELECT * FROM emp;
-- 显示部分列
SELECT empno,ename,sal FROM emp;
-- 显示部分行
SELECT * FROM emp WHERE sal> 2000;
-- 起别名
SELECT empno 员工编号,ename 姓名,sal 工资 FROM emp; -- as 省略,''或者 ""省略了
SELECT empno AS '员工编号',ename AS "姓名",sal AS '工资' FROM emp;
-- 算数运算符:
SELECT empno,ename,sal,sal+1000 AS '涨薪后',deptno FROM emp WHERE sal < 2500;
-- 去重操作
SELECT job FROM emp;
SELECT DISTINCT job FROM emp;
SELECT job,deptno FROM emp;
SELECT DISTINCT job,deptno FROM emp; -- 对后面的所有列组合 去重,而不是单独的某一列去重
-- 排序
SELECT * FROM emp ORDER BY sal; -- 默认情况下是按照升序排列的
SELECT * FROM emp ORDER BY sal ASC; -- asc 升序,可以默认不写
SELECT * FROM emp ORDER BY sal DESC; -- desc降序
SELECT * FROM emp ORDER BY sal ASC,deptno DESC; -- 在工资升序的情况下,deptno 按照降序排序
where子句
SELECT * FROM emp WHERE deptno =10;
SELECT * FROM emp WHERE job = 'clerk'; -- 默认情况下不区分大小写
SELECT * FROM emp WHERE BINARY job = 'clerk'; -- binary 区分大小写
SELECT * FROM emp WHERE hiredate < '1981-15-25';
-- where 子句 + 逻辑运算符 :and
SELECT * FROM emp WHERE sal > 1500 AND sal <3000; -- (1500,3000)
SELECT * FROM emp WHERE sal >1500 && sal<3000;
SELECT * FROM emp WHERE sal >1500 AND sal <3000 ORDER BY sal; -- 默认按照升序排序
SELECT * FROM emp WHERE sal > 1500 BETWEEN sal < 3000; -- [1500,3000]
-- where 子句 + 逻辑运算符 :or
SELECT * FROM emp WHERE deptno = 10 OR deptno = 20;
SELECT * FROM emp WHERE deptno 10 || deptno = 20;
SELECT * FROM emp WHERE deptno IN (10,20);
SELECT * FROM emp WHERE job IN ('MANAGER','CLERK','ANALYST');
-- 模糊查询
-- 查询名字中带A的员工 -- % 代表任意多个字符0,1,2,...
SELECT * FROM emp WHERE ename LIKE '%A%';
-- - 查询_个字符
SELECT * FROM emp WHERE ename LIKE '_A%';
-- 关于null的判断
SELECT * FROM emp WHERE comm IS NULL;
SELECT * FROM emp WHERE comm IS NOT NULL;
-- 小括号的使用: 因为不同的运算符的优先级不同,加括号为了可读性
SELECT * FROM emp WHERE job = 'SALESMAN' OR job = 'CLERK' AND sal>=1500;
SELECT * FROM emp WHERE job = 'SALESMAN' OR (job = 'CLERK' AND sal>=1500);
SELECT * FROM emp WHERE (job = 'SALESMAN' OR job = 'CLERK') AND sal>=1500;
函数的分类
单行函数
单行函数是指对每一条记录输入值进行计算,并得到相应的计算结果,然后返回给用户,也就是说,每条记录作为输入参数,经过函数计算得到每条记录的计算结果
常用的单行函数主要包括字符串函数,数值函数,日期与时间函数,流程函数以及其他函数
多行函数
多行函数是指对一组数据进行运算,针对这一组数据(多行记录)只返回一个结果,也称为分组函数
-- 函数举例:
SELECT empno,ename,LOWER(ename),UPPER(ename),sal FROM emp;
-- 函数的功能:封装了特定的一些功能,我们直接拿过来使用,可以实现对应的功能
-- 函数的作用:为了提高select 的能力
-- 注意:函数没改变数据自身的值,而是在真实数据的上面进行加工处理,展示新的结果而已
SELECT MAX(sal),MIN(sal),COUNT(sal),SUM(sal),AVG(sal) FROM emp;
-- 函数的分类:
-- lower(ename),uppper(ename) :改变每一条结果,每一条数据对应一条结果 -- 单行函数
-- max(sal),min(sal),count(sal),sum(sal),avg(sal): 多条数据,最终展示一个结果 -- 多行函数