数据库笔记02

--NULL与数字进行运算,结果为NULL
SELECT ENMAE, COMM, COMM+1 FROM EMP;
--NULL与字符串运算结果不会改变原串
SELECT ENAME, COMM,COMM||'1' FROM EMP;
--处理NULL值		NVL(字段1,值2)如果字段1位NULL,给你值2
SELECT ENAME 姓名,COMM 奖金,NVL(COMM,0)+1 "+1后的奖金" FROM EMP;

--条件查询
SELECT ENAME,DEPTNO FROM EMP WHERE DEPTNO = 30;

--执行顺序	FROM---WHERE---SELECT

--  =  >  <  >= <= != <>
--所有员工中薪资>800
SELECT * FROM EMP WHERE SAL>800;
SELECT * FROM EMP WHERE ENAME = 'SMITH';

--求除了SMITH以外的所有员工的信息
SELECT * FROM EMP WHERE ENAME != 'SMITH';
SELECT * FROM EMP WHERE ENAME <> 'SMITH';
SELECT * FROM EMP WHERE NOT ENMAE = 'SMITH';

--AND  OR  NOT     BETWEEN AND
SELECT * FROM EMP WHERE SAL>=1500 AND SAL<=2500;
SELECT * FROM EMP WHERE SAL BETWEEN 1500 AND 2500;	-->= <=
--求除了薪资>1500和30部门的员工名称,部门标号,薪资
select ename,deptno,sal from emp where not sal>=1500 and not deptno=30;
select ename,deptno,sal from emp where not(sal>=1500 or deptno=30);

--求有奖金的人
SELECT * FROM EMP WHERE COMM IS NOT NULL;
SELECT * FROM EMP WHERE NOT COM IS NULL;

--集合操作
--求薪资>1500或者30部门的员工名称,部门标号,薪资
SELECT * FROM EMP WHERE SAL>=1500
UNION 
SELECT * FROM EMP WHERE DEPTNO=30;
--UNION ALL ,全集(不去重)
SELECT * FROM EMP WHERE SAL>=1500
UNION ALL
SELECT * FROM EMP WHERE DEPTNO=30;

--MINUS求没有员工在的部门的编号
SELECT DEPTNO FROM DEPT
MINUS 
SELECT DISTINCT DEPTNO FROM EMP;

--LIKE 模糊匹配		%任意个任意字符		_任意一个字符
--姓名以A开头的所有员工的信息
SELECT * FROM EMP WHERE ENAME LIKE 'A%';
--使用模糊匹配做精确匹配
SELECT * FROM EMP WHERE ENAME LIKE 'JONES';
--姓名中第二个字符为A的所有员工姓名
SELECT ENAME FROM EMP WHERE ENAME LIKE '_A%';

--查找姓名中带有%的用户
SELECT * FROM EMP WHERE ENAME LIKE '%C%%' ESCAPE('C');	--任意指定转义字符,需要使用ESCAPE()中说明


--事务
COMMIT;
ROLLBACK;

--IN匹配后面结果集中的任意一个数据,无法做区间判断
SELECT * FROM EMP WHERE SAL IN (1500,2000,2500,5000)
SELECT * FROM EMP WHERE ENAME IN ('KING','SMITH');

--子查询	查询语句中嵌套查询语句
SELECT * FROM EMP WHERE DEPTNO IN(SELECT DEPTNO FROM DEPT WHERE IN('SALES','ACCOUNTING'));
--查询销售部中工资大于1500的员工信息
SELECT * FROM EMP WHERE SAL>1500 AND DEPTNO IN (SELECT DEPTNO FROM DEPT WHERE DNAME = 'SALAS');

--EXISTS 存在即保留  存在即合法
SELECT * FROM EMP WHERE EXISTS (SELECT * FROM DEPT WHERE DNAME ='SALES');
--获取所有行记录
SELECT * FROM EMP ;
SELECT * FROM EMP WHERE 1=1;

--排序ORDER BY DESC 降序 / asc 升序
--SELECT * FROM 表名 WHERE 行过滤条件 ORDER BY 排序字段;	--默认升序
--FROM--WHERE-SELECT--ORDER BY 
SELECT * FROM EMP ORDER BY SAL ASC ,EMPNO DESC;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值