三、Oracle数据库之OracleC12--表查询

oracle表基本查询

介绍
在我们前面笔记讲解的过程中我们利用c##scott用户存在的几张表(emp,dept)为大家演示如何使用select语句,select语句在软件编程中非常有用

c##scott.emp 雇员表

clerk  普员工 
salesman 销售 
manager  经理 
analyst 分析师 
president  总裁 
mgr  上级的编号 
hiredate 入职时间 
sal 月工资 
comm 奖金 
deptno 部门

c##scott.dept部门表

deptno 部门编号 
accounting 财务部 
research  研发部 
operations 业务部 
loc 部门所在地点 
salgrade   工资级别 
grade    级别 
losal    最低工资 
hisal    最高工资 

1. 简单的查询语句
1.1 查看表结构

DESC emp;

1.2 查询所有列

SELECT * FROM dept; 

切忌动不动就用select *
SET TIMING ON; --打开显示操作时间的开关,在下面显示查询时间。

CREATE TABLE users(userId VARCHAR2(10), uName VARCHAR2 (20), uPassw VARCHAR2(30)); 
INSERT INTO users VALUES('a0001', '222', 'asdasd'); 

1.3 从自己复制,加大数据量 大概几万行就可以了 可以用来测试sql语句执行效率

INSERT INTO users (userId,UNAME,UPASSW) SELECT * FROM users;

1.4 统计行数

SELECT COUNT (*) FROM users; 

1.5 查询指定列

SELECT ename, sal, job, deptno FROM emp; 

1.6 如何取消重复行DISTINCT

SELECT DISTINCT deptno, job FROM emp; 

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

SELECT deptno,job,sal FROM emp WHERE ename = 'SMITH'; 

注意:oracle对内容的大小写是区分的,所以ename='SMITH’和ename='smith’是不同的
2. 使用算术表达式 nvl null
2.1 如何显示每个雇员的年工资?

SELECT sal*13+nvl(comm, 0)*13 "年薪" , ename, comm FROM emp; 

2.2 使用列的别名

SELECT ename "姓名", sal*12 AS "年收入" FROM emp; 

2.3 如何处理null值
使用nvl函数来处理
2.4 如何连接字符串(||)

SELECT ename  || ' is a ' || job FROM emp; 

2.5 使用where子句
问题:如何显示工资高于3000的 员工?

SELECT * FROM emp WHERE sal > 3000; 

问题:如何查找1982.1.1后入职的员工?

SELECT ename,hiredate FROM emp WHERE hiredate >'1-1月-1982'; 

问题:如何显示工资在2000到3000的员工?

SELECT ename,sal FROM emp WHERE sal >=2000 AND sal <= 3000; 

3. 如何使用like操作符
%:表示0到多个字符 _:表示任意单个字符
问题:如何显示首字符为S的员工姓名和工资?

SELECT ename,sal FROM emp WHERE ename like 'S%'; 

如何显示第三个字符为大写O的所有员工的姓名和工资?

SELECT
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值