oracle笔记第二章

第二章 简单查询

最简单查询

select * from emp;

SQL语句执行顺序(六个子句)

- 1. from 子句第一个执行。
- 2. where子句, 通过过滤条件排除不满足条件的记录
- 3. group by 子句, 对where过滤后的记录(满足条件的记录进行分组)
- 4. having 子句, 对分组后的记录进行过滤(分组条件)
- 5. select子句, 用过滤后的记录生产查询列表 
- 6. order by 子句, 对所有生成的记录进行排序

四张表

  1. 部门表(dept)
列名称类型描述
deptnonumber(2)部门编号
dnamevarchar(14)部门名称
locvarchar(13)部门位置
  1. 员工表(emp)
列名称类型描述
empnonumber(4)员工编号,包含4个字符
enamevarchar(10)员工姓名
jobvarchar(9)职位
mrgnumber(4)领导编号
hiredatedate雇佣日期(入职时间)
salnumber(7,2)基本工资, 小数是2位, 整数为5位
commnumber(7,2)佣金
deptnonumber(2)所属部门编号
  1. 工资等(salgrade)
列名称类型描述
gradenumber工资等级描述
losalnumber最低工资
hisalnuimber最高工资
  1. 工资表(bonus)
列名称类型描述
enamevarchar(10)员工姓名
jobvarchar(9)员工职位
salnumber工资
commnumber佣金

一些注意事项

-- 关键字可以不区分大小写,
-- 字段不区分大小写,但是数据要区分大小写
select * from emp where ENAME = 'SMITH';       --可查
select * from emp where ENAME = 'smith';       --不可查

-- 查询所有员工的姓名及工资 投影查询(查询部分字段)
select ename, sal from emp;
--一下两条sql 语句哪条执行速度快, 为啥?
select * from dept;
select deptno, dname, loc from dept;
--答: 第二条,*为通配符,还需要从表中判断表的字段,而第二条可以直接查询。
1.查询所有员工的工资和他的姓名,且为每个员工的工资增加100select ename, sal,  sal+100 from emp;

2.查询所有员工的年薪
select ename, sal, sal*12 from emp;

课堂练习

1.员工的工资上调20%;
select ename, sal sal*(1+0.2) from emp;

2.计算年薪, 包含奖金, 
--当算数表达式中包含null值, 则计算结果为null
select ename, sal, comm, (sal + comm)*12 from emp;

3.给字段起别名(as 可以去掉)
--当别名中包含空格时,需要用双引号
select ename, sal, sal*12 as yearsal from emp;
select ename, sal, sal*12 "year sal"  from emp; 

4.查询员工的姓名和岗位 要求:用一个字段来显示。
--用||单引号||对两个字符数据之间进行连接
select ename|| '-' || job name_job form emp;  

5. 查询出emp表中存在哪些岗位
--消除重复行 用distinct关键字
select distinct job from emp;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值