Oracle数据库:编写简单SQL语句-第二章

--查询所有列 *代表表格中所有的列

select * from emp;select * from dept;--效率不高

select empno,ename,job,mgr,hiredate,sal,comm, deptno from emp;--效率高

查询指定的列(也就是投影)

select empno,ename,hiredate,sal,mgr from emp;

--算术运算符

--null:不是空格,也不是0,也不是"" 与任何值做计算返回值都是null;

--nvl(参数一,参数二):当参数一为空时,取参数二的值,否则,取自身参数一的值

--1.将所有员工的薪资上调20%,查询员工工资上调之后的薪酬信息

select ename,sal,sal*0.2 from emp;

--2.将所有员工转正后的薪资上调20%,查询员工的年薪(包括奖金在内,试用期6个月)

-试用期:sal*6;

--转正:(sal+sal*0.2)*6

--奖金 comm*12

select ename,sal,comm,nvl(comm,0),(sal*6+(sal+sal*0.2)*6+comm*12) from emp;

列别名:select ename,sal,sal*12 yearSal from emp;

--三种情况别名需要用""括起来

select ename,sal,sal*12 "year sal" from emp;  --别名中包含空格

select ename,sal,sal*12 "Year Sal" from emp; --别名需要区分大小写

select enaem,sal,sal*12 "year_sal" from emp;别名中包含特殊字符

--连接操作符: || , 用于拼接字符串

--原意字符串:1.单引号''括起来 2.字符串出现在每一行数据中

select ename,job,ename || '的岗位是' ||job from emp;

--消除重复行: distinct 关键字

1.查询所有员工的部门有哪些

select distinct deptno from emp; --单列去重

select distinct deptno,job from emp;--多列去重 

--查看表结构命令:(在命令窗口输入): desc(describe) 表名;

例如:desc emp

猜你喜欢

转载自blog.csdn.net/qq_41449330/article/details/84171835
今日推荐