oracle两个表like 查询,Oracle 表基本查询 - where \ like \ order by(四)

表基本查询用 PL/SQL 的 scott 用户自带的四个表,选用两个表进行练习。

雇员表 emp

f93f05cdf3e4

emp表

部门表 dept

f93f05cdf3e4

dept表

一、简单查询

查看表结构

desc dept;

查看所有列 ( 如果是大量数据,不推荐使用此查询命令 )

select * from dept;

查询指定列 ( 如果是大量数据,推荐使用此查询命令 )

select userId from users;

打开显示操作时间

set timing on;

复制多个数据

create table users(userid varchar2(20),username varchar2(30),userpssvarchar2(30));//先创建一个users表

insert into users values('a001','哈哈哈哈哈啊飒飒','qwert12345');//插入一条数据

insert into users values(userid,username,userpss) select * from users;//复制刚刚插入的数据,可以多次复制

查看多少行数据

select count (*) from users;

取消重复行

select distinct deptno,job from emp; //取消deptno 和 Job 所出现的重复行

查询 SMITH 的薪水,工作,所在部门。

(oracle对类大小写有区分,对sql语句不区分)

select sal,job,deptno from emp where ename = 'SMITH';

显示每个雇员的年工资

select sal*12,ename from emp;

使用列的别名

select sal*12 "年工资",ename from emp;

处理 null 值,使用 nvl

员工 12 个月的总共的工资+奖金(因为奖金有些人会出现空值)

select sal*12+nvl(comm,0)*12 "年工资",ename,comm from emp;

二、where语句

显示工资高于 3000 的员工

select ename,sal from emp where sal>3000;

显示入职日期,在某年某月入职得员工

select ename,hiredate from emp where hiredate>='1-1月-1980';

显示多条件时,用and来连接条件,比如:显示工资到 2000 到 2500 之间得员工。

select ename,sal from emp where sal>=2000 and sal<2500;

三、like 操作符

% :表示任意0个到多个字符

_ :表示任意单个字符

显示首字母为 S 的员工,工资

select ename,sal from emp where ename like 'S%';

显示第三个字符为 O 的所有员工,工资

select ename,sal from emp where ename like '__O%';

四、where语句中 in 表达

显示员工 empno 中 7499,7521,7788,7900员工的情况

select * from emp where empno in (7499,7521,7788,7900);

五、is null 语句

显示没有上级的雇员信息

select * from emp where MGR is null;

六、逻辑符号

或:or

和:and

查询工资高于 500 或是岗位为 MANGER 的雇员,同时还要满足他们的姓名首字母为大写的 J

select * from emp where (sal>500 or job='MANGER') and ename like 'J%';

七、order by 语句

升序,由低到高:order by 默认排序 或 asc

降序,由高到低:desc

按照雇员的工资由低到高显示雇员的信息

select * from emp order by sal;

按照部门号升序,工资降序显示雇员信息

select * from emp order by deptno asc,sal desc;

按照部门号升序,工资降序显示雇员信息,同时按照入职时间降序

select * from emp order by deptno,sal desc,hiredate desc;

使用列的别名进行排序

select ename,sal*12 as "年薪" from emp order by "年薪";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值